Nije to dobro. Liči, ali nije kompletno.
Prvo nepotrebno je dva puta da otvaraš i zatvaraš datoteku, za to služi rewind(). Drugo, ako simulatano upadne još neki zahtev može da se dogodi da imaš nekonzistentni upis, zato moraš da zaključaš datoteku nakon otvaranja i oslobodiš je pre zatvaranja. Kako datoteka ne bi ostala zaključana moramo da pre toga zanemarimo prekid.
Zato je korišćenje baze lakše.
Code (php):
ignore_user_abort(true);
$fp = fopen("counter.txt", "w+");
// čekamo dok ne dobijemo pristup
while(!flock($fp, LOCK_EX
)) usleep(100000);
$count = intval(fread($fp, 1024));
// upišemo za jedan veću vrednost
rewind($fp);
fwrite($fp, ++$count); // krenuli smo od 0!
flock($fp, LOCK_UN
);
fclose($fp);
ignore_user_abort(false);
echo "<img src='neka_slika.jpg' width=100 Height=100>";
echo "<p>Image views:" . $count . "</p>";
Korak dalje bi bilo, kao što sam i napisao, da ovaj kod stoji u neka_slika.php i da nakon uvećavanja brojača PHP prosledi zaglavlja i sadržaj slike. Tada bi HTML bio <img src="neka_slika.php" ... />, a za prikaz brojača bismo samo čitali sadržaj datoteke uz deljeni katanac.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja