login  Naam:   Wachtwoord: 
Registreer je!
 Scripts:

Scripts > PHP > Statistieken > bezoekers online (zonder mysql)

bezoekers online (zonder mysql)

Auteur: svm - 01 juni 2006 - 12:26 - Gekeurd door: nemesiskoen - Hits: 9941 - Aantal punten: 4.13 (8 stemmen)





Zet het script op de gewenste plaats, of include het daar.
Je host moet wel fopen ondersteunen (doet vrijwel elke host).
Verder gebeurd alles automaties.

Code:
  1. <?php
  2.  
  3. // Het IP-adres van de bezoeker
  4. $ip_addr = $_SERVER['REMOTE_ADDR'];
  5.  
  6. // het bestandje waar de info naar geschreven wordt
  7. $file = 'online.dat';
  8.  
  9. // als het bestandje niet bestaat maakt hij het aan
  10. if (!file_exists($file)) {
  11. $fp = fopen($file, 'a');
  12. fclose($fp);
  13. }
  14.  
  15. // de info die er in moet komen/eruit gehaalt moet worden
  16. $online = file_get_contents($file);
  17. $online = unserialize($online);
  18.  
  19. // update het bestandje met de info van de bezoeker
  20. $online['visitors'][$ip_addr] = time();
  21.  
  22. // dit is het aantal seconden waarna de bezoeker wordt beschoud als nutteloos
  23. $timeout = 300; // 300 seconds = 5 minutes
  24.  
  25. foreach($online['visitors'] as $key => $val) {
  26. if($val < (time() - $timeout)) {
  27. unset($online['visitors'][$key]);
  28. }
  29. }
  30.  
  31. // huidig aantal bezoekers online
  32. $total_visitors = count($online['visitors']);
  33.  
  34. // werk indien nodig het bestandje bij
  35. if($total_visitors > $online['record']['number']) {
  36. $online['record']['number'] = $total_visitors;
  37. $online['record']['time'] = time();
  38. }
  39.  
  40. $record_number = $online['record']['number'];
  41. $record_time = $online['record']['time'];
  42.  
  43. // de tekst die weergeven wordt aan de bezoeker
  44. if ($total_visitors == 1){ //als er slechts 1 bezoeker is
  45. echo 'Nu is er 1 bezoeker online.<br />';
  46. } else { // als er meer zijn
  47. echo 'Nu zijn er '.$total_visitors.' bezoekers online.<br />';
  48. }
  49.  
  50. echo 'De meeste bezoekers ooit online was: '
  51. .$record_number.' op '.gmdate('F jS, Y', $record_time);
  52.  
  53. // Schrijf de nieuwe gegevens terug naar het bestand
  54. $handle = fopen($file, 'w');
  55. fwrite($handle, serialize($online));
  56. fclose($handle);
  57.  
  58. ?>


De datum wordt nu weergeven als: June 20th, 2006.
Je kunt de datum ook weergeven als: 20-06-2006.
Verander hiervoor regel 51 in:
  1. .$record_number.' op '.gmdate('d-m-Y', $record_time);


Meer informatie over het aanpassen van de datum kun je vinden op:
http://www.site...&id=93.Download code! Download code (.txt)

 Stemmen
Niet ingelogd.

 Reacties
Post een reactie
Lees de reacties (11)
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.032s