Avatar billede xbobby Nybegynder
18. juli 2003 - 08:18 Der er 5 kommentarer og
1 løsning

Nulstille array i txt fil.

Jeg har brug for en function, som når den bliver kaldt er i stand til at nultstille alle "tællerne/variablerne" i arrayet i txt filen.

Her er koden:

<?php

function hent_taellere()
{
    $array = array();

    $fp = @fopen("./taeller.txt", "rb");
    if (is_resource($fp))
    {
        while (!feof($fp))
        {
            $string = fgets($fp, 256);
            list($key, $value) = explode("||", $string);
            $array[$key] = trim($value);
        }
        fclose($fp);
    }

    return $array;
}

function gem_taellere($array)
{
    $string = NULL;

    foreach ($array as $key => $value)
        $string .= "$key||$value\n";

    $string = trim($string);

    $fp = fopen("./taeller.txt", "wb+");
    fwrite($fp, $string);
    fclose($fp);
}

function taeller($navn)
{
    $taellere = hent_taellere();

    if (isset($taellere[$navn]))
    {
        $taellere[$navn]++;
    }
    else
    {
        $taellere[$navn] = 1;
    }

    gem_taellere($taellere);
    return $taellere[$navn];
}

?>

<html>
<head><title>test af tæller</title></head>
<body>

<?php
print taeller("rigtigt_svar");
print taeller("forkert_svar");
?>

</body>
</html>
Avatar billede avminarm Juniormester
18. juli 2003 - 08:27 #1
noget i den her stil (ikke testet)

function nulstil_taellere($array)
{
    $string = NULL;

    foreach ($array as $key => $value)
        $string .= "$key||0\n";

    $string = trim($string);

    $fp = fopen("./taeller.txt", "wb+");
    fwrite($fp, $string);
    fclose($fp);
}
Avatar billede xbobby Nybegynder
18. juli 2003 - 11:21 #2
Hej avminarm
Jeg har prøvet den metode du her bruger ved at kopirer function gem_taellere($array) og erstatter $value med nul, men det giver disse to fejlmeddelelser, som jeg ikke ved hvad jeg skal stille op med:

Notice: Undefined variable: array in line 74

Warning: Invalid argument supplied for foreach() in  line 57
Avatar billede avminarm Juniormester
18. juli 2003 - 12:28 #3
prøv lige at give mig et udsnit af din txt fils indhold - bare et par linier
Avatar billede avminarm Juniormester
18. juli 2003 - 14:04 #4
prøv med det her:

function nulstil_taellere()
{
    $nul = hent_taellere();
    $string = NULL;

    foreach ($nul as $key => $value)
        $string .= "$key||0\n";

    $string = trim($string);

    $fp = fopen("./taeller.txt", "wb+");
    fwrite($fp, $string);
    fclose($fp);
}
Avatar billede xbobby Nybegynder
18. juli 2003 - 15:06 #5
Hej avminarm

Den sidste kode holder vand! Tak fra en rigtig glad xbobby.
Avatar billede avminarm Juniormester
20. juli 2003 - 23:09 #6
var så lidt ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester