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
Maveral
post
Post #2





Grupa: Zarejestrowani
Postów: 45
Pomógł: 8
Dołączył: 30.07.2005

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


Po co ci w ogóle ten else if? Wystarczy tak:
  1. <?php
  2. $sciezka='stat.txt';
  3.  
  4.  if(file_exists($sciezka)){
  5.      $tablica=file($sciezka);
  6.  }else{
  7.      $tablica=array(0);
  8.  }
  9. if(!isset($_SESSION['nr_ip']))
  10.  {
  11.      $_SESSION['nr_ip']=$_SERVER["REMOTE_ADDR"];
  12.      $tablica[0]++;
  13.  
  14.      $plik=fopen($sciezka, 'wb');
  15.      flock($plik,LOCK_EX);
  16.      fputs($plik,$tablica[0]);
  17.      flock($plik,LOCK_UN);
  18.      fclose($plik);
  19.  }
  20.  echo $tablica[0];
  21. ?>
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: 3.10.2025 - 02:12