function affiche($i)
{switch ($i){case "0": echo "<img src=\"imagescompteur/0.gif\">";break;case "1": echo "<img src=\"imagescompteur/1.gif\">";break;case "2": echo "<img src=\"imagescompteur/2.gif\">";break;case "3": echo "<img src=\"imagescompteur/3.gif\">";break;case "4": echo "<img src=\"imagescompteur/4.gif\">";break;case "5": echo "<img src=\"imagescompteur/5.gif\">";break;case "6": echo "<img src=\"imagescompteur/6.gif\">";break;case "7": echo "<img src=\"imagescompteur/7.gif\">";break;case "8": echo "<img src=\"imagescompteur/8.gif\">";break;case "9": echo "<img src=\"imagescompteur/9.gif\">";break;}}
// nom du fichier contenant le nombre de visiteurs
$visiteur="compteur.dat";
//recuperation de la variable
$file = @fopen($visiteur, "r" );
$num = fgets($file,4096);fclose($file);
$num++;
$file = @fopen($visiteur, "w" );
//ecrit dans le fichier
fputs($file,$num);
fclose($file);
$i="$num";
//Inverse l'ordre des caractères d'une chaîne.
$num=strrev($i);
$cpt=0;
while ($i<>0){
//divisise $i par 10 avec 0 chiffre apres la virgule
//tant que i est >=10, on passera dans la boucle
$i=bcdiv($i,10,0);
$cpt++;
}
echo "<br>";
echo "<table align=center>";
echo "<tr width=400>";
echo "<td><font color=#FF6600 face=Tahoma style=font-size:12pt;><b>Nombre de visiteurs: <b></font></td>";
for ($i=0;$i<$cpt;$i++){
echo "<td>";
//Retourne le reste d'une division entre nombre de grande taille.
$j=bcmod($num,10);
$num=bcdiv($num,10,0);
affiche($j);
echo "</td>";
}
echo "</tr>";
echo "</table>";
}
Voici le sript de mon compteur ou j utilise la fct bcdiv(), si quelqu un voit une erreur...