Kopioin tuolta koodivinkeistä Arcatanin kävijälaskurin, muokkasin sitä vähän ja upotin funktioon, niin, että se näyttää nyt tältä:
<?php function kavijalaskuri() { $file = fopen("visit.dat", "r"); $visit = fread($file, filesize("visit.dat")); fclose($file); $visit++; $file = fopen ("visit.dat", "w") or die ("Ei oikeuksia! Ilmoita webmasterille!"); fputs($file, $visit); fclose($file); echo $visit; } kavijalaskuri(); ?>
Noin se toimii mahtavasti funktiokirjaston yhtenä jäsenenä (huom! kutsun funktiota jo tuossa, sillä kokeilin sitä)
Mutta jos tuota funktiota kutsuu useammin, kuten
kavijalaskuri(); kavijalaskuri(); kavijalaskuri();
Alkaa se käyttäytyä jokseenkin oudosti (kokeilkaa itse)
Tietääkö kukaan syytä? Olisi mielenkiintoista tietää
Minkä takia sä kolme kertaa sitä kutsut?
Syy: se tallentaa 3 kertaa peräkkäin siihen tiedostoon = 3 kertaa enemmän kävijöitä.
Eipä muuta syytä kutsua 3 kertaa ku kokeilu
Eikös se toimi ihan oikein? Jos ensimmäisen kutsunnan lomassa lukua kasvatetaan yhdellä ja toisen kohdalla samoiten, niin silloinhan se näyttää kolmannen kutsunnan kohdalla "ylimääräistä", ellen sitten katsonut kieroon.
$luku = 0 [ajetaan] $kavijat { $luku++ } print $kavijat [näyttää nyt 1] [ajetaan] $kavijat [näyttää nyt 2, sitten 3 sitten 4..]
Aihe on jo aika vanha, joten et voi enää vastata siihen.