Ce code est un additif qui construit une image 'ctr2.jpg' du compteur de visites (CTR) si vous utilisez
par ailleurs le logiciel de statistiques phpMyVisites
Dans un sous-répertoire /images, vous aurez à stocker les images des digits 0 à 9 sous forme de 1.jpg 2.jpg etc..
Le nombre de visites précédent est stocké dans un fichier texte : compteur.txt
le code à installer dans un fichier ctr.php par exemple : <?php $host="localhost"; //indiquer ici l'hote par exemple localhost ou l'ip du serveur $user="root"; //indiquer ici un nom d'utilisateur MySQL par exemple root bien qu'a eviter plutot creer un user pour php $base="mybase"; //indiquer ici le nom de la base de donnée $passe="password"; //indiquer ici le mot de passe if (!($dblink=mySql_connect($host,$user,$passe))) { //echo "<h2>La Connexion a échoué !</h2>\n"; // die ("<br><h2>Arret Immédiat!</h2>\n"); exit(); } $namtbl="phpmv_visit"; // nom de la table à explorer $namfield="idvisit"; // nom du champ dans cette table $select_base=mySql_selectdb($base,$dblink); //selectionne la base de donnée $query="SELECT * FROM ".$namtbl; //Stocke dans $query la requete SQL $dbresult=mysql_query($query,$dblink); //Execute la requete if (!(mysql_query($query,$dblink))) { //echo "<b>Désolé, la table ".$namtbl." est absente dans la base, </b>\n"; exit(); } // recherche du dernier enregistrement (idvisit) $query="SELECT MAX(idvisit) FROM ".$namtbl; //Stocke la requete de max(idvisit) $result=mysql_query($query,$dblink); //Execute la requete if (!$result) { // echo 'Impossible d/'exécuter la requête : ' . mysql_error(); exit(); } $row = mysql_fetch_row($result); //echo $row[0]; // champ idvisit $visit = $row[0]; //echo "visit: ".$visit."</br>"; //MAJ Visites et Création Image du Compteur $text=""; $fic=""; $Ndig=6; // nombre de digits d'affichage $bias=1234; // différence originale si le CTR ne part pas de zéro // $fp=fopen('compteur.txt','r'); //Ouvre le fichier compteur.txt en lecture $oldvisit=fgets($fp,20); // Récupère 20 premiers octets fclose($fp); // Ferme fichier $dvisit = $visit - $oldvisit; //echo " DVisites : ".$dvisit."</br>"; if ( $dvisit > 0) // s'il y a eu une ou des visites { $fp=fopen('compteur.txt','w'); // Ouvre le fichier en ecriture fputs($fp,$visit); // Mémorise la nouvelle valeur fclose($fp); // Ferme fichier // $myvisit = $bias + $visit; $text = strval($myvisit); //echo " text : ".$text."</br>"; // Le texte à dessiner $text=str_pad($text, $Ndig, "0", STR_PAD_LEFT); // Création de l'image $Dim = imagecreate(10*$Ndig, 12); // crée une image de (10xNdig x 12) pixels $nx=0; while($nx<strlen($text)) { $digit=$text{$nx}; $fic="images/".$digit.".jpg"; // construit l'image du CTR $image = imagecreatefromjpeg($fic); imagecopy($Dim, $image, $nx*10, 0, 0, 0, 10, 12); $nx++; } $fh = fopen('ctr2.jpg','w'); // Ouvre le fichier en ecriture imagejpeg($Dim,'ctr2.jpg');//sauve l'image dans fichier 'ctr2.jpg' imagedestroy($Dim); // détruit l'image du CTR } ?>
dans la page affichant le CTR, insérer les lignes suivantes:
<!-- MAJ compteur de visites --> <?php include ("ctr.php"); ?>
puis afficher le CTR par <img src="ctr2.jpg" alt="ctr">