Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Błędy w kodzie? Licznik się zeruje.
Zagiewa
post
Post #1





Grupa: Zarejestrowani
Postów: 84
Pomógł: 0
Dołączył: 12.08.2009

Ostrzeżenie: (0%)
-----


Witam. Mam problem i nie mam pojęcia co go powoduje. Mam napisany prosty licznik gości oparty na ciasteczkach. Licznik jest odporny na odświeżanie ale nalicza raz jeszcze jeśli np. zamkniemy przeglądarkę i uruchomimy ją raz jeszcze. Mi to wystarcza jednak nie wiedzieć czemu licznik co jakiś czas po prostu się zeruje. Nie mam pojęcia co może być powodem tym bardziej, że zerowanie jest zupełnie przypadkowe tzn. nigdy nie wiadomo kiedy i w jakich okolicznościach następuje. Prosił bym was o sprawdzenie kodu.
  1. <?php
  2.  
  3. $plik = "licz.txt";
  4. if (isset($_COOKIE['licznikgosci'])) {
  5.  
  6. $open = fopen($plik, "r");
  7. $wartosc = fread($open, filesize($plik));
  8. fclose($open);
  9. }else {
  10.  
  11. setcookie("licznikgosci", "1");
  12. $open = fopen($plik, "r");
  13. $wartosc = fread($open, filesize($plik));
  14. fclose($open);
  15. $wartosc = $wartosc + 1;
  16. $open = fopen($plik, "w");
  17. fwrite($open, $wartosc);
  18. fclose($open);
  19. }
  20.  
  21. ?>

Nie wiem czy to ma znaczenie ale dodam, że dla pliku są ustawione prawa na 644. Z góry dziękuję.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cudny
post
Post #2





Grupa: Zarejestrowani
Postów: 387
Pomógł: 66
Dołączył: 31.03.2005
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Skopiowane z manuala:
Note:
If you just want to get the contents of a file into a string, use file_get_contents() as it has much better performance than the code above.
Note:
Note that fread() reads from the current position of the file pointer. Use ftell() to find the current position of the pointer and rewind() to rewind the pointer position.

  1. $count = intval(trim(file_get_contents(file_get_contents('sciezka_do_pliku.txt'))));

Po wykonaniu analogicznie użyj: http://php.net/manual/en/function.file-put-contents.php


(IMG:style_emoticons/default/tongue.gif) jak mogę coś dodac $wartosc = $wartosc + 1; === $wartosc++;

Ten post edytował cudny 15.03.2012, 22:34:15
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 22:28