Results for compteur : 1

1 - Compteur de visites
<?php 
/*
Script compteur de visites et compteur de visiteurs en ligne pour PluXml V4 ou V5.
Inspiré de cet article : http://www.asp-php.net/scripts/asp-php/compteurs.php

Installation :
-------------
- Créer un dossier plugins/compteur/
- y ajouter deux fichiers txt vides nommés : cpt.txt et online.txt ainsi que le présent fichier cpt.php
- Modifier le début du fichier header.php de votre thème, juste après le premier "<?php if(!defined('PLX_ROOT')) exit;" en ajoutant :
 session_start();
 include_once(PLX_ROOT.'plugins/compteur/cpt.php');
- Enfin, modifier le fichier footer.php (par exemple) pour l'affichage du résultat, en ajoutant :
<p><?php
echo $cpt." visiteurs | ";
echo $online." visiteur".$nbtemp;
echo " en ligne";
?></p>

Ce qui affichera par exemple : 324 visiteurs | 2 visiteurs en ligne

Pour info, la variable $nbtemp contient un 's' lorsqu'il y a plus d'un visiteur en ligne ;o)

Ludovic AMATHIEU
http://ludo.qbf.free.fr/
*/

### Compteur de visites ###
if(!isset($_SESSION['visite'])) {$_SESSION['visite'] = "";}
$fichier=PLX_ROOT."plugins/compteur/cpt.txt";
// si c'est le premier hit de la session
if($_SESSION['visite'] == "") {
   // marque la session
   $_SESSION['visite'] = "ok";

   // Incrémente le compteur
   $inF = fopen($fichier,"a");
   fputs($inF,"."); 
   fclose($inF);
}

// Lecture de la taille du fichier
$cpt = filesize($fichier);

### Compteur de visiteurs en ligne ###

$Fnm = PLX_ROOT."plugins/compteur/online.txt";

// IP du visiteur
$IP=$_SERVER["REMOTE_ADDR"];

// Date/heure courante en minutes
$date0 = time()/60;
// Durée de vie max
$vie = 5;

// Si le fichier existe, on le lit
if (file_exists($Fnm)) {
   $inF = fopen($Fnm,"r");
   while (!feof($inF)) {
      // on lit chaque IP|minutes
      $ligne=fgets($inF, 4096);
      $temp = explode("|",$ligne);
      // différente de l'IP courante ?
      if($temp[0]!=$IP) {
         // non périmée ?
         if($date0-intVal($temp[1])<=$vie) {
            $online++;
            $result .= $ligne . "n";
         }
      }
   }
   fclose($inF);
}
// On ajoute le hit
$result .= $IP . "|" . $date0 . "n";
$online++;
// Et on sauve
$inF = fopen($Fnm,"w");
fputs($inF,$result);
fclose($inF);

if ($online <= 1){$nbtemp = "";} else {$nbtemp = "s";}
?>