Prefecture ; Calcialiment ;nuisances ; pleudihen ; Cotes d Armor;Bord de rance , CODI ; Pays de rance

Annuaire

<?php
// Compteur instantané (compteur live ou live counter):
// ==================================
// Ce script met à jour le fichier /compteur-live/compteur-live.txt, dans lequel sont
// identifiés les visiteurs connectés sur le site.
// Il est appelé dans l'entête de toutes les pages du site.
// -----------------------------------------------------------------------------------
// Le fichier /compteur-live/compteur-live.txt contient 2 lignes par visiteur connecté:
// - une ligne contenant son heure de connexion,
// - suivie d'une ligne contenant son adresse IP.
// Les visiteurs y sont classés par ordre chronologique:
// - de celui qui s'est connecté il y a le plus longtemps (en haut de fichier),
// - à celui qui s'est connecté le plus récemment (en bas de fichier).
// -----------------------------------------------------------------------------------
// On lit chaque ligne du fichier /compteur-live/compteur-live.txt
// dans le tableau $compteur_live
$compteur_live = file("/compteur-live/compteur-live.txt");
// -----------------------------------------------------------------------------------
// On détermine quels sont les visiteurs à éliminer
// (ceux dont la dernière connexion date de plus de 5 minutes).
$premiere_ligne_a_garder=-2; // valeur virtuelle. Sera 0 au 1er passage dans la boucle...
do { // On boucle jusqu'à trouver le premier visiteur à ne pas eliminer, ou la fin de fichier.

$premiere_ligne_a_garder=$premiere_ligne_a_garder+2; // visiteur suivant

} while((date('U', strtotime('-300 seconds')) > $compteur_live[$premiere_ligne_a_garder]) && ($premiere_ligne_a_garder < count($compteur_live)));
// 300 secondes = 5 minutes. Cette durée est modifiable.
// -----------------------------------------------------------------------------------
// On lit l'adresse IP du visiteur qui est en train de charger une page
if(isset($_SERVER["REMOTE_ADDR"])) { // Si on peut déterminer l'adresse IP

$ip_en_cours = $_SERVER["REMOTE_ADDR"];

}
else { // sinon

$ip_en_cours = "Non identifiable";

}
// -----------------------------------------------------------------------------------
// on reconstitue le futur contenu du fichier dans la variable $compteur
$compteur = "";
if($premiere_ligne_a_garder < count($compteur_live)) { // des visiteurs à ne pas éliminer?

// Pour tous les visiteurs inscrits dans le fichier à ne pas éliminer...
for($i=$premiere_ligne_a_garder; $i<count($compteur_live); $i=$i+2) {
// Garder ce visiteur, sauf si c'est celui qui est en train de recharger
// une page (ceci afin déviter les doublons).
if(trim($compteur_live[$i+1]) != $ip_en_cours) {
$compteur .= trim($compteur_live[$i])."\n".trim($compteur_live[$i+1])."\n";
}
}

}
// -----------------------------------------------------------------------------------
// Enfin on ajoute le visiteur qui est en train de se connecter
$compteur .= date('U')."\n".$ip_en_cours;
// -----------------------------------------------------------------------------------
// Et on écrit le tout dans le fichier
$pointeur=fopen("/compteur-live/compteur-live.txt","w");
fputs($pointeur,$compteur);
fclose($pointeur);
?>

×