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">