Cześć, mam dziwny problem z licznikiem. Otóż wartość przechowuję w pliku licznik.lic oczywiście jest to plik tekstowy.
Ogólnie wszystko działa ok, tylko czasami z jakiegoś powodu plik się czyści(jego wielkość to 0 bajtów). Czemu tak się może dziać? Mój kod to:
<?
/* wysyła cookie na komputer użytkownika */
setcookie("neurotic", "1");
global $counter;
if(file_exists("licznik.lic"))
{ /* sprawdza, czy plik istnieje */
$file=fopen("licznik.lic", "r"); /* otwiera plik */
flock($file, 1); /* blokuje plik */
$counter=fgets($file, 100); /* odczytuje warto¶ć */
flock($file, 3); /* odblokowuje plik */
fclose($file); /* zamyka plik */
if($neurotic!="1") /* sprawdza, czy użytkownik już odwiedzał stronę */
{
$counter++; /* zwiększa warto¶ć o 1 tylko po pierwszym wej¶ciu */
}
}
else
{
$ile=1; /* je¶li plik nie istnieje, wy¶wietli się 1 */
}
$file=fopen("licznik.lic", "w"); /* otwiera plik do zapisu */
flock($file, 2); /* blokuje do zapisu */
fwrite($file, $counter); /* zapisuje warto¶ć */
flock($file, 3); /* odblokowuje plik */
fclose($file); /* zamyka plik */
?>