ďťż

[PHP] licznik tekstowy..gdzie blad?

       

Podstrony


telcocafe

Witam!Napisalem swoj licznik odwiedzin oparty o plik txt.Ale cos nie chce mi chodzic...jak wpisze w plik licznik.txt liczbe 0 i wejde na server to normalnie doda 1 ale jezeli powtornie odswieze stronke to liczba znika i juz sie nic nie dzieje oto kod:

<?php file_exists("licznik.txt"); //sprawdza czy plik istnieje $otworz = fopen("licznik.txt", "r"); //odczyt pliku flock($otworz, LOCK_SH); //blokowanie odczytu. Pozwala na dzielenie pliku z innym czytajacych $odczyt = fgets($otworz,100); //odczytje plik dp 99 bajtow flock($otworz, LOCK_UN); //zwolnienie blokady fclose($otworz); //zamyka plik $odczyt++; //dodaje do liczby 1 $otworz = fopen("licznik.txt", 'w'); //odczytuje plik do zapisu flock($otworz, LOCK_SH); ////blokowanie odczytu. Pozwala na dzielenie pliku z innym czytajacych fwrite($otworz,$odczyt); //zapisuje liczbe w pliku flock($otworz, LOCK_UN); //zwolnienie blokady fclose($otworz); //zamyka plik echo '<br />'; //enter echo ($odczyt);//odczytuje nowa liczbe ?>



Tak powinno to wyglądać:
<?php file_exists('licznik.txt'); //sprawdza czy plik istnieje $otworz = fopen("licznik.txt", "r"); //odczyt pliku flock($otworz, LOCK_SH); //blokowanie odczytu. Pozwala na dzielenie pliku z innym czytajacych $odczyt = fgets($otworz,100); //odczytje plik dp 99 bajtow flock($otworz, LOCK_UN); //zwolnienie blokady fclose($otworz); //zamyka plik $odczyt++; //dodaje do liczby 1 $otworz = fopen("licznik.txt", 'w'); //odczytuje plik do zapisu flock($otworz,LOCK_EX); ////zamyka dostęp do pliku na czas wykonania zapisu fwrite($otworz,$odczyt); //zapisuje liczbe w pliku flock($otworz,LOCK_UN); //zwolnienie blokady fclose($otworz); //zamyka plik echo '<br />'; //enter echo ($odczyt);//odczytuje nowa liczbe ?>
Użytkownik Bartas edytował ten post 18 sierpień 2006, 07:06
ok thx..juz wszystko dziala :) ...to przy zapisie danych uzywam LOCk_EX???


...to przy zapisie danych uzywam LOCk_EX???

Tak, ewentualnie możesz:
- zamiast LOCK_SH dać 1
- zamiast LOCK_EX dać 2
- zamiast LOCK_UN dać 3



Zadalem pytanie ale nikt mi nanie nie odp...czy przed zapisem danych uzywam LOCK_EX???

Tak, przed zapisem używaj LOCK_EX, a przed odczytem LOCK_SH

ok thx :P

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.