Files
ohmj2/Scripts/compteur.php
2009-09-15 21:08:20 +00:00

123 lines
5.3 KiB
PHP

<?
/*
*********************************************************************
* File : $RCSfile: compteur.php,v $
* Version : $Revision: 1.2 $
* Modified by : $Author: jb $ ($Date: 2002/07/24 23:34:59 $)
*********************************************************************
Classe Compteur
v 0.2 : NADAL Jean-Baptiste : 06 03 2001
V 0.01 : NADAL Jean-Baptiste : 02 10 2000
Description : Cette classe permet d'afficher le nombre de visiteurs de
la page index du site de l'Harmonie
*/
class Compteur {
// =============================================================
// Les Variables
var $nNbVisiteurs,$topdir; /* Nombre de visiteurs sur le site. */
// =============================================================
// Les Fonctions
// =============================================================
// Constructeur de la classe
function Compteur ($nTypeAffichage)
{
//echo $pwd;
//$pwd = dirname(__FILE__);
//echo $pwd;
//$this->topdir = "$pwd/../..";
//$this->topdir = "$pwd/..";
// On met à jour la variable du compteurr
if ( $nTypeAffichage==1)
$this->Update ($nTypeAffichage);
else
{
$cheminCompteur = "./compteur/compteur.txt";
$fp = file($cheminCompteur);
$this->nNbVisiteurs = $fp[0];
}
// On affiche le compteur
// $this->Affiche();
}
// =============================================================
// Retourne la valeur du compteur sous la forme du chaine de caractère
function GetCompteur()
{
return $this->nNbVisiteurs;
}
// =============================================================
// Méthode permettant de charger la valeur du compteur
function Update ($nTypeA)
{
//ouverture du fichier stockant le nombre de visiteur
$cheminCompteur = "./compteur/compteur.txt";
// Sinon c'est que l'on est sur n'importe quel page du site
if ( $nTypeA == 1 )
{
$fp=fopen($cheminCompteur,"r+");
$nblocal =fgets($fp,10);
// On place ensuite le pointeur sur le debut du fichier
fseek($fp,0);
// On incremente le nombre de visiteur de 1
$nblocal+=1 ;
fputs($fp,$nblocal);
fclose($fp);
$this->nNbVisiteurs = $nblocal;
// echo "<h1>on enregistre : <$nblocal> \n</h1>";
} // fin if ( $nTypeAffichage == 1 )
//$this->nNbVisiteurs = $nblocal;
//echo "<h1>nb : <$this->nNbVisiteurs> \n</h1>";
}
// =============================================================
// Cette fonction affiche le compteur sous la forme du'une image
function Affiche()
{
// On va travailler sur une copie du nombre de visiteurs
$nNbVis_copy = $this->nNbVisiteurs;
// On transforme la variable en chaine de caractère pour le traitement
settype($nNbVis_copy, "string");
//Il faut aussi introduire un séparateur (ici le ;) entre chaque chiffre, afin de
//pouvoir les dissocier
$data=ereg_replace("0", ";0", $nNbVis_copy);
$data=ereg_replace("1", ";1", $data);
$data=ereg_replace("2", ";2", $data);
$data=ereg_replace("3", ";3", $data);
$data=ereg_replace("4", ";4", $data);
$data=ereg_replace("5", ";5", $data);
$data=ereg_replace("6", ";6", $data);
$data=ereg_replace("7", ";7", $data);
$data=ereg_replace("8", ";8", $data);
$data=ereg_replace("9", ";9", $data);
//On eclate le nombre en tableau selon le séparateur que l'on a introduit.
$tableau=explode(";",$data);
// Puis on prépare l'affichage de l'image ddu compteur
echo"<center><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> <tr><td><img src=\"$topdir/compteur/deb.gif\" alt=\"\"></td>";
// Puis pour chaque élément du tableau qui vient d'être créé
while(list($element,$valeur)=each($tableau))
{
//Comme le tableau débute par ; on réfute le premier élément du tableau soit tableau[0]
if($element != 0)
{
//on affiche l'image correspondant au chiffre
echo"<td><img src=\"$topdir/compteur/$valeur.gif\" alt=\"$valeur\"></td>";
} // fin if($element != 0)
} // fin while(list($element,$valeur)=each($tableau))
// Puis pour terminer, on affiche une image pour terminer le cadre et
// Afficher ème visiteur
echo"<td><img src=\"$topdir/compteur/visites.gif\" alt=\"visites\"></td></tr></table></center>";
}
} // fin de la classe compteur