compteur de visites simple
Créer un compteur de visites ultra simple en php.
caractéristiques du compteur de visites
- invisible pour le visiteur
- fonctionne sans javascript
- nécessite php (3 et +)
- utilise un cookie
- Nombre de visites stocké dans un fichier texte
- compte les visites et rien d’autre
- pas besoin de base de données
Fonctionnement du compteur de visites
Dans votre page .html vous devez inclure une image. C’est le chargement de cette image qui fait office de compteur de visites.
Si le visiteur n’est pas passé sur la page/le site depuis un temps que vous determinez, on compte une nouvelle visite. Ce temps est déterminé par la durée de vie du cookie. Ainsi le compteur ne compte pas le nombre de fois que la page a été affichée mais bien les visteurs. Vous pouvez connaître le nombre de visites enregistrées par le compteur de visites en tapant (dans votre navigateur) l’adresse du fichier texte qui stocke la valeur du nombre de visites.
Script php du compteur de visites
<?php
if($visites = file_get_contents(‘http://localhost/compteur.txt’)) {
$visites = intval($visites);
if(!isset($_COOKIE[‘compteur’])) {
if($fichier = fopen(‘compteur.txt’,“wb”)) {
$visites++;
fwrite($fichier,$visites);
fclose($fichier);
setcookie(‘compteur’,‘monsite.com’,time()+60*60);
} else { die(“Le fichier existe,
mais il est impossible d’écrire dedans
modifiez les droits du fichier.”); }
}
}
else {
echo “<p>le fichier texte n’existe pas.<br/>
Tentative de creation :”;
if( $fichier = fopen(“compteur.txt”,“wb”) ) {
echo ‘Fichier créé avec succes :)</p>’;
fwrite($fichier,‘1′);
fclose($fichier);
} else {
echo “Le fichier n’a pu être créé :(<br/>
Modifiez les droits du dossier qui doit le contenir.”;
}
}
header (“Expires: ”.gmdate(“D, d M Y H:i:s”).“ GMT”, time()+60*60);
header (“Content-type: image/gif”);
if(!readfile (‘compteur.gif’) )
die(“Erreur de lecture de l’image.”);
exit();
?>
Les variables et nom du script
- $visites
- nombre de visites, lu dans le fichier, sinon vaut
false - compteur.txt
- Le nom/l’adresse du fichier qui contient le nombre de visites
- $_COOKIE[’compteur’]
- la valeur du cookie déposé chez le visiteur, sa valeur n’a aucune importance, seul l’existance du cookie compte.
- $fichier
- ressource vers le fichier ouvert en écriture, compteur.txt
- time()+60*60
- Le temp de vie du compteur et la valeur d’expiration du fichier
Script commenté du compteur de visites
<?php
if($visites = file_get_contents(‘compteur.txt’))
{ // réussite de la lecture du fichier contenant les visites
// convertion de la chaine de caractère lue en nombre entier
// on ne fait pas de vérification car php affiche un message
// en cas d’erreur
$visites = intval($visites);
if(!isset($_COOKIE[‘compteur’]))
{ // le cookie n’est pas présent côté client
if($fichier = fopen(‘compteur.txt’,“wb”))
{ // réussite de l’ouverture en écriture du fichier
$visites++; // incrémentation
fwrite($fichier,$visites); // écriture
fclose($fichier); // fermeture
// création du cookie, d’une durée de vie de 1 heure :
// 60 secondes * 60 = 1 heure
setcookie(‘compteur’,‘monsite.com’,time()+60*60);
} else
die(‘<p>Le fichier existe,
mais il est impossible d’écrire dedans : <br/>
modifiez les droits du fichier</p>‘);
}
}
else {
echo ’<p>le fichier texte n‘existe pas.<br/>
Tentative de creation :’;
if( $fichier = fopen(“compteur.txt”,“wb”) ) {
echo ‘Fichier créé avec succes :)</p>’;
fwrite($fichier,‘1′); // attention, si on met 0 dans le fichier,
// file_get_contents, ligne 1, renverra false, même si
// la récupération du contenu du fichier c’est bien passée! (’0′ vaut false)
fclose($fichier);
} else {
echo ‘Le fichier n’a pu être créé :(<br/>
Modifiez les droits du dossier qui doit le contenir.</p>‘
}
}
// on envoit une information sur le cache, de la même durée que la vie
// du cookie : 1 heure
header (”Expires: ”.gmdate(”D, d M Y H:i:s”).” GMT”, time()+60*60);
// on indique que c’est une image de type gif
header (“Content-type: image/gif”);
if(!readfile (‘compteur.gif’) )
// image non trouvée
die(‘<p>Erreur de lecture de l’image.</p>’);
?>
Erreurs fréquentes et debugage php

Cette partie et le code du compteur de visites sont amenés a changer, en fonction de vos commentaires.
Si vous rencontrez un problème, tâchez d’être le précis / la plus précise possible dans la description du problème, n’ayez pas peur de mettre de choses inutiles, ça peut toujours servir.
Instalation du compteur de visites
- créez une image gif, eventuelement de seulement 1 pixel sur 1, nommez la compteur.gif
- Inserez l’appel au script dans votre code html : <img src=”compteur.php” /> au minimum, ou <img src=”compteur.php” alt=”" />
- placez l’image gif, le fichier compteur.php et le fichier html modifié dans le même repertoire.
- pour connaitre le nombre de visites il vous suffit de consultez le fichier http://www.tonsite.com/compteur.txt, si le compteur est à la racine du site. (Firefox lit directement le fichier, Internet explorer voudra le télécharger).
Exemple
Pour ce blog, les statistiques sont réalisées par phpmyvisites. Par contre pour ma page concernant les cours d’informatique, j’ai utilisé ce petit compteur de visites. Visiblement, rien ne laisse apparaître le compteur de visites. Le seul indice est une adresse d’image se terminant en .php.
Un problème de mise en place ? un commentaire ? une remarque ? Vous êtes libres de commenter, vous êtes sur un blog Wordpress







26 janvier 2007 at 01:59
Pas mal ce type de compteur, je l’ai testé et il marche nikel !.
Mais est ce qu’il serait possible d’avoir le nombre de visiteurs, en live, en instantanée. J’en recherche un mais j’en trouve pas. ??Pourrai tu m’aider ?
Sur mon blog ( http://creer-un-site-gratuit.blogspot.com/ ), j’ai mis des astuces pour avoir des compteurs gratuits en 2 minutes.
26 janvier 2007 at 22:20
Merci.
J’ai pas vu de lien vers des compteurs sur ton site…
En php, faire afficher le nombre de visites est très simple :
<?php
echo file_get_contents(‘http://adresse_du_compteur_de_visites’).‘ visiteurs’;
?>
Une autre solution consiste a appeller une image generée par la librairie gd, toujours en php.
En javascript, cela ne semble pas possible. (si ce n’est indirectement en intégrant une image … générée en php)
22 mars 2007 at 16:49
Bonjour,
Ce script me parait intéressant. Je neconnais pas bien le PHP. J’ai donc suivi scrupuleusement vos instructions. Mais l’appel PHP par ne s’effectue pas. Tous les fichiers sont bien dans le même répertoire.
Merci pour votre réponse
23 mars 2007 at 22:44
Bonjour,
Il faudrait vérifier si le php n’est pas en cause, en appellant directement ce .php dans un navigateur pour voir les eventuelles erreurs. http://…./compteur.php.
Si il n’y a pas d’erreur affichée et que le nombre de visites comptés a bien augmenté, c’est que le problème est dans l’appelle du fichier.
En espérant que ça aidera…
25 avril 2008 at 14:48
Bonjour,
J’ai ajouté le script dans la page index de mon site (appel via
Je ne connais pas le php. Comment dois-je interpréter ce que je vois ? Pensant à un problème d’écriture sur le fichier.txt, j’ai placé celui-ci dans un directory “c” dont j’ai modifié l’autorisation en exécution. Pouvez-vous m’aider ? Merci d’avance.
Bien à vous,
Gérard V