Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]kasująca się wartośc licznika
slaw.omir
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 1
Dołączył: 10.08.2006

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


Mam licznik i po jakimś czasie on kasuje swoją zawartość i on od nowa zaczyna zliczać wejścia na stronę, a chciałbym by cały czas liczył, przypuszczam że może to być spowodowane jak plik chce zapisać 2 wejścia na raz do pliku, jak to można rozwiązać?
Zastosowałem blokowanie pliku podczas zapisu ale i tak nie pomaga.

  1. <?php
  2. $sciezka='stat.txt';
  3.  
  4.    if(file_exists($sciezka)){
  5.        $tablica=file($sciezka);
  6.    }else{
  7.        $tablica=array(0);
  8.    }
  9.    
  10.    
  11.    if(!isset($_SESSION['nr_ip']))
  12.    {
  13.        $_SESSION['nr_ip']=$_SERVER["REMOTE_ADDR"];
  14.        $tablica[0]++;
  15.    }
  16.    
  17.    if ($plik=fopen($sciezka, 'wb'))
  18.    {
  19.        flock($plik,LOCK_EX);
  20.        fputs($plik,$tablica[0]);
  21.        flock($plik,LOCK_UN);
  22.        fclose($plik);
  23.    }
  24.    
  25. echo $tablica[0];
  26. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
flashdev
post
Post #2





Grupa: Zarejestrowani
Postów: 812
Pomógł: 117
Dołączył: 2.12.2008

Ostrzeżenie: (10%)
X----


Miałem też kiedyś problem z zerowaniem licznika, ale od kiedy korzystam z poniższego kodu nie ma już tego problemu.
  1. <?php
  2.  $plik = fopen("plik.txt","r");
  3.  flock($plik, LOCK_SH);
  4.  $licznik = fgets($plik);
  5.  flock($plik, LOCK_UN);
  6.  fclose($plik);
  7.  $licznik++;
  8.  
  9.  $plik = fopen("plik.txt","w");
  10.  flock($plik, LOCK_EX);
  11.  fwrite($plik, $licznik);
  12.  flock($plik, LOCK_UN);
  13.  fclose($plik);
  14.  echo "<!-- liczba odzwiedzin: ".$licznik." -->";
  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: 12.10.2025 - 11:37