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: |
<?php
// Het IP-adres van de bezoeker
$ip_addr = $_SERVER['REMOTE_ADDR'];
// het bestandje waar de info naar geschreven wordt
$file = 'online.dat';
// als het bestandje niet bestaat maakt hij het aan
if (!file_exists($file)) {
$fp = fopen($file, 'a');
fclose($fp);
}
// de info die er in moet komen/eruit gehaalt moet worden
$online = file_get_contents($file);
$online = unserialize($online);
// update het bestandje met de info van de bezoeker
$online['visitors'][$ip_addr] = time();
// dit is het aantal seconden waarna de bezoeker wordt beschoud als nutteloos
$timeout = 300; // 300 seconds = 5 minutes
foreach($online['visitors'] as $key => $val) {
if($val < (time() - $timeout)) {
unset($online['visitors'][$key]);
}
}
// huidig aantal bezoekers online
$total_visitors = count($online['visitors']);
// werk indien nodig het bestandje bij
if($total_visitors > $online['record']['number']) {
$online['record']['number'] = $total_visitors;
$online['record']['time'] = time();
}
$record_number = $online['record']['number'];
$record_time = $online['record']['time'];
// de tekst die weergeven wordt aan de bezoeker
if ($total_visitors == 1){ //als er slechts 1 bezoeker is
echo 'Nu is er 1 bezoeker online.<br />';
} else { // als er meer zijn
echo 'Nu zijn er '.$total_visitors.' bezoekers online.<br />';
}
echo 'De meeste bezoekers ooit online was: '
.$record_number.' op '.gmdate('F jS, Y', $record_time);
// Schrijf de nieuwe gegevens terug naar het bestand
$handle = fopen($file, 'w');
fwrite($handle, serialize($online));
fclose($handle);
?>
<?php // Het IP-adres van de bezoeker $ip_addr = $_SERVER['REMOTE_ADDR']; // het bestandje waar de info naar geschreven wordt $file = 'online.dat'; // als het bestandje niet bestaat maakt hij het aan } // de info die er in moet komen/eruit gehaalt moet worden // update het bestandje met de info van de bezoeker $online['visitors'][$ip_addr] = time(); // dit is het aantal seconden waarna de bezoeker wordt beschoud als nutteloos $timeout = 300; // 300 seconds = 5 minutes foreach($online['visitors'] as $key => $val) { if($val < (time() - $timeout)) { unset($online['visitors'][$key]); } } // huidig aantal bezoekers online $total_visitors = count($online['visitors']); // werk indien nodig het bestandje bij if($total_visitors > $online['record']['number']) { $online['record']['number'] = $total_visitors; $online['record']['time'] = time(); } $record_number = $online['record']['number']; $record_time = $online['record']['time']; // de tekst die weergeven wordt aan de bezoeker if ($total_visitors == 1){ //als er slechts 1 bezoeker is echo 'Nu is er 1 bezoeker online.<br />'; } else { // als er meer zijn echo 'Nu zijn er '.$total_visitors.' bezoekers online.<br />'; } echo 'De meeste bezoekers ooit online was: ' .$record_number.' op '.gmdate('F jS, Y', $record_time); // Schrijf de nieuwe gegevens terug naar het bestand $handle = fopen($file, 'w'); ?>
De datum wordt nu weergeven als: June 20th, 2006.
Je kunt de datum ook weergeven als: 20-06-2006.
Verander hiervoor regel 51 in:
.$record_number.' op '.gmdate('d-m-Y', $record_time);
.$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 (.txt)
|
|
Stemmen |
Niet ingelogd. |
|