Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> licznik online
Apo
post
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


Witam
Napisałem sobie licznik online (1 w karierze (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) )

kod:
  1. <?php
  2.  
  3. function online() {
  4. define('PLIK', 'dane.php');
  5. $online = 0;
  6. $czas = time();
  7. $zwloka = 300; /// 30*5 = 5 minut
  8.  
  9. include('./dane.php');
  10.  
  11. if(defined('WPISY'))
  12. {
  13. $tablica = unserialize(WPISY);
  14.  
  15. for($i=0;$i<count($tablica);$i++)
  16. {
  17. if($tablica[$i]['ip'] == $_SERVER['REMOTE_ADDR'])
  18. {
  19. unset($tablica[$i]);
  20. }
  21.  
  22. if($tablica[$i]['data'] < $czas-$zwloka)
  23. {
  24. unset($tablica[$i]);
  25. }
  26. $tablica[] = array('ip' => $_SERVER['REMOTE_ADDR'], 'data' => $czas);
  27. }
  28. $cnt = count($tablica);
  29.  
  30. $hand = fopen(PLIK, 'w');
  31. flock($hand, LOCK_EX);
  32. fwrite($hand, "<?php define('WPISY', '".serialize($tablica)."'); ?>");
  33. flock($hand, LOCK_UN);
  34. fclose($hand);
  35. return $cnt;
  36. }
  37. else
  38. {
  39. $tablica[] = array('ip' => $_SERVER['REMOTE_ADDR'], 'data' => $czas);
  40.  
  41. $hand = fopen(PLIK, 'w');
  42. flock($hand, LOCK_EX);
  43. fwrite($hand, "<?php define('WPISY', '".serialize($tablica)."'); ?>");
  44. flock($hand, LOCK_UN);
  45. fclose($hand);
  46. return 1;
  47. }
  48. }
  49.  
  50. echo online();
  51.  
  52. ?>


No ale jest problem. Bo skrypt cały czas zapisuje mi pustą tablice to pliku i wychodzi że jest 0 użytkowników online :/
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: 6.10.2025 - 14:56