ADAM WEBMASTERING, AGENCE DE CREATION DE SITE INTERNET/WEB

Espace Clients



Dernière créa’

Ensemble Bonsaï (Site professionnel)

Adam Photographie

Nouveau site !!!

Adam Photographie










Créer un compteur de visites (07/01/08 - 20:34)

1. Créer le fichier "Compteur.txt"...

En local, créer un fichier "Compteur.txt". Ensuite il vous faut l'éditer afin de lui attribuer la valeur 0 (zéro). Enfin, sauver ces modifications et refermer le fichier.

2. Copier ce script dans votre page XHTML...

Copier-coller ce code PHP à l'intérieur de votre code source XHTML...

<?php
$monfichier = fopen('Compteur.txt', 'r+');
$pages_vues = fgets($monfichier);
$pages_vues++;
fseek($monfichier, 0);
fputs($monfichier, $pages_vues);
fclose($monfichier);
echo 'Vous êtes le '.$pages_vues.'&egrave;me visiteur !';
?>

3. Uploader tout ça...

Renommer votre page "xxxx.htm" en "xxxx.php", si ce n'est pas déjà le cas, afin d'indiquer au serveur que cette page possède du code qui doit être interprêté comme du PHP. Uploader la page "xxxx.php", ainsi que le fichier "Compteur.txt". Attention : le fichier "Compteur.txt" doit se trouver dans le même répertoire que la page "xxxx.php". Si vous désirez le mettre ailleurs, pensez à changer l'argument de la fonction fopen, dans la première ligne du script !

4. Explications du script...

Ligne par ligne, voici le code décortiqué et expliqué...

$monfichier = fopen('Compteur.txt', 'r+');

La fonction fopen() ouvre le fichier passé en argument. Le second paramètre désigne le type d'accès désiré (cf. manuel). Ici, on utilise 'r+', car c'est cette valeur de paramètre qui permet la lecture/écriture du fichier ouvert, en placant le curseur au début du fichier. On place cette ressource dans une variable $monifchier afin de pouvoir réutiliser le fichier que l'on vient d'ouvrir...

$pages_vues = fgets($monfichier);

La fonction fgets() se charge de lire la ligne où se trouve le curseur. Précédemment, nous l'avions mis par fopen au tout début du fichier. La fonction fgets() va donc lire la première ligne; elle s'arrêtera à la fin de la ligne puisque nous n'avons pas indiqué de longueur comme paramètre... Il est possible de ne lire, par exemple, que les 20 caractères situés après le curseur (cf. manuel). La variable $pagesvues correspond donc au chiffre que fgets() a pu lire dans notre fichier ouvert !

$pages_vues++;

Cette ligne aurait pu s'écrirer autrement : le but est d'ajouter 1 au chiffre correspondant à la variable $pages_vues !
$pages_vues = $pages_vues + 1;
équivaut à :
$pages_vues++;
Les deux signes ++ signifient : on rajoute 1 à la variable indiquée juste avant (Dans ce cas, on parle d'incrémentation).

fseek($monfichier, 0);

La fonction fseek() n'a qu'un but ici : changer la position du curseur de notre fichier. On va le déplacer pour écrire la nouvelle valeur de notre compteur. Le second paramètre a pour valeur 0, ce qui signifie que l'on va remettre le curseur au tout début du fichier.

fputs($monfichier, $pages_vues);

La fonction fputs(), tout comme la fonction fwrite(), se charge d'écrire dans le fichier ouvert la nouvelle valeur du compteur qui est $pages_vues.

fclose($monfichier);

Là, c'est facile : la fonction fclose() ferme le fichier que l'on a ouvert avec fopen().

echo 'Vous êtes le '.$pages_vues.'&egrave;me visiteur !';

Cette dernière ligne vous montre juste comment utiliser la valeur du compteur dans vos pages XHTML !