Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Licznik online
Forum PHP.pl > Forum > Przedszkole
Winger
  1. <?php
  2. if (!$datei) $datei = dirname(__FILE__)."/$filename";
  3. $time = @time();
  4. $ip = $REMOTE_ADDR;
  5. $string = "$ip|$time\n";
  6. $a = fopen("$filename", "a+");
  7. fputs($a, $string);
  8. fclose($a);
  9.  
  10. $timeout = time()-(60*$timer);
  11.  
  12. $all = "";
  13. $i = 0;
  14. $datei = file($filename);
  15. for ($num = 0; $num < count($datei); $num++) {
  16.    $pieces = explode("|",$datei[$num]);
  17.  
  18.        if ($pieces[1] > $timeout) {
  19.            $all .= $pieces[0];
  20.            $all .= ",";
  21.        }
  22.    $i++;
  23. }
  24.  
  25. $all = substr($all,0,strlen($all)-1);
  26. $arraypieces = explode(",",$all);
  27. $useronline = count(array_flip(array_flip($arraypieces)));
  28.  
  29.  
  30. echo $useronline;
  31.  
  32.  
  33. $dell = "";
  34. for ($numm = 0; $numm < count($datei); $numm++) {
  35.    $tiles = explode("|",$datei[$numm]);
  36.        if ($tiles[1] > $timeout) {
  37.            $dell .= "$tiles[0]|$tiles[1]";
  38.        }
  39. }
  40.  
  41. if (!$datei) $datei = dirname(__FILE__)."/$filename";
  42. $time = @time();
  43. $ip = $REMOTE_ADDR;
  44. $string = "$dell";
  45. $a = fopen("$filename", "w+");
  46. fputs($a, $string);
  47. fclose($a);
  48. ?>


Taki mam licznik online i cały czas pokazuje, że na stronie jest 1 osoba... to mam zapisane w pliku online.php i includuje sobie to w odpowiednim bloku...wiecie może jak to ugryźć? z góry dziękuje za pomoc...
phpion
Bez wgzyrania się w kod (dałbyś go między znaczniki PHP a nie CODE...) zadam, może głupie, pytanie: w ile osób testujesz ten skrypt? Jeśli sam go testujesz to zawsze powinieneś otrzymywać wynik 1.
webdice
Co Twój temat ma wspólnego z programowaniem obiektowym? Przenoszę do działu Przedszkole.
Winger
Cytat(phpion @ 26.11.2008, 12:45:35 ) *
Bez wgzyrania się w kod (dałbyś go między znaczniki PHP a nie CODE...) zadam, może głupie, pytanie: w ile osób testujesz ten skrypt? Jeśli sam go testujesz to zawsze powinieneś otrzymywać wynik 1.



Aktualnie na stronie jest minimum 10 osób.... strona jest dostępna pod tym adresem www.szczakowianka.pl


Cytat(webdice)
Co Twój temat ma wspólnego z programowaniem obiektowym? Przenoszę do działu Przedszkole.


Dzięki za przeniesienie i przepraszam za kłopot.
Pilsener
Cytat
Aktualnie na stronie jest minimum 10 osób....
- skąd to wiesz jak licznik nie działa? winksmiley.jpg

Na oko kod mi się nie podoba, spróbuj czegoś innego, np. tego:
http://emdek.cba.pl/index.php/skrypty/ecounter
Albo kiedyś taki amatorski skrypt popełniłem w przerwie na kawę:
http://forum.php.pl/index.php?showtopic=90582

Na plikach nie polecam tego robić, z doświadczenia wiem, że już przy 50 osobach online licznik będzie się zerował - za duże obciążenie pliku.

Na forum i w skryptotekach jest też dużo przykładów różnego rodzaju liczników online opartych o mysql, wystarczy poszukać.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.