Witam!
Skończyłem naukę php dotyczącą plików txt. Mam problem, napisałem sobie skrypt:
<?php
if (file_exists("licznik.txt"))
{
$wp = fopen("licznik.txt", 'rw');
$e = fgets($wp, 999);
++$e;
fwrite($wp, $e);
fclose($wp);
}
?>
i już to nie działa, tzn nie zapisuje do pliku kolejnej liczby, a w pliku txt wpisałem wartość początkową, 1, a plik też zzostał otworzony w celu odczytu i zapisu. I jeszcze jedno pytanie, gdzieś znalazłem taki oto kod licznika, ale nie wiem jak on dział:
if(file_exists("counter.n")) /* sprawdza, czy plik istnieje */
{ $file=fopen("counter.n", "r"); /* otwiera plik */
flock($file, 1); /* blokuje plik */
$ile=fgets($file, 100); /* odczytuje wartość */
flock($file, 3); /* odblokowuje plik */
fclose($file); /* zamyka plik */
$ile++; /* zwiększa wartość o 1 */
}
else
$ile=1; /* jeśli plik nie istnieje, wyświetli się 1 */
$file=fopen("counter.n", "w"); /* otwiera plik do zapisu */
flock($file, 2); /* blokuje do zapisu */
fwrite($file, $ile); /* zapisuje wartość */
flock($file, 3); /* odblokowuje plik */
fclose($file); /* zamyka plik */
echo($ile); /* wyświetla wartość */
I jeżeli plik istnieje ma go otworzyć , założyć blokade odczytać zawartość i zdjąć blokadę, zamknąć plik i dodać 1, ale gdzie jest coś co zapisuję tą wartość po dodaniu, i dlaczego nie generuje błędu, po instrukcji else nie ma znaków {}.
Już chyba zrozumiałem dlaczego to 2 działa, else odnosi się do jednej lini po.