$dossier_parent = "stats"; // Nom du dossier où sont conservées les stats
$point = 1; // Rend les points actifs lors de la vision
$max = 100; // Valeur max de visiteurs pour l'affichage (à définir)
// on vérifie si le dossier_parent existe ou pas
if(is_dir($dossier_parent)) {
if(!$name_dossier) {
echo "Statistiques des visites :
";
// On liste les dossiers des mois existants
$files = array();
$open = opendir($dossier_parent);
while($file = readdir($open)) {
if($file != "." && $file != "..") {
$files[] = $file;
}
}
closedir($open);
natcasesort($files);
foreach($files as $v) {
$recup=explode("-",$v);
$date=date("F Y", mktime (0,0,0,$recup[0],1,$recup[1]));
echo"- $date
";
}
} else {
$recup=explode("-",$name_dossier);
$date=date("F Y", mktime (0,0,0,$recup[0],1,$recup[1]));
$i=1;
header ("Content-type: image/png");
$largeur_image=700; // dimension minimum de l'image
$hauteur_image = 350;
$image = @ImageCreate ($largeur_image, $hauteur_image) or die ("Erreur lors de la création de l'image");
$blanc = ImageColorAllocate ($image, 255, 255, 255);
$noir = ImageColorAllocate ($image, 0, 0, 0);
$bleu = ImageColorAllocate ($image, 0, 0, 255);
$mix = ImageColorAllocate ($image, 255, 0, 0);
// On marque le titre de l'image générée
ImageString ($image, 3, $largeur_image/3, 20, "Mois : $date", $noir);
// On l'encadre
ImageRectangle ($image, ($largeur_image/3)-5, 20-4, ($largeur_image/3)+150, 35, $noir);
// On trace les axes
ImageLine($image, 30, $hauteur_image-30, $largeur_image-20, $hauteur_image-30, $noir);
ImageLine($image, 30, $hauteur_image-30, 30, 90,$noir);
// On affiche les jours
$j=0;
$k=1;
while($k<32) {
ImageString($image,1,$j*20+60,$hauteur_image-21,$k,$noir);
$k++;
$j++;
}
$trait=1;
while($i<32) {
// on veut avoir 01 et non 1 seulement
if($i<10) $test="0$i";
else $test=$i;
if(file_exists("$dossier_parent/$name_dossier/$test.txt")) {
$fp=fopen("$dossier_parent/$name_dossier/$test.txt","r");
while(!feof($fp)) {
$contenu=fgets($fp,60);
}
$h_rectangle =round(($contenu*$hauteur_image)/$max);
ImageFilledRectangle ($image, ($i-1)*20+60, $hauteur_image-$h_rectangle-31, ($i-1)*20+70, $hauteur_image-31, $bleu);
ImageString ($image,1,($i-1)*20+62,$hauteur_image-$h_rectangle-50,$contenu,$noir);
if($point==1) {
ImagefilledEllipse ($image,($i-1)*20+65, $hauteur_image-$h_rectangle-31, 5, 5,$mix);
if($trait%2==0) {
$trait=1;
ImageLine ($image, $x1, $y1, ($i-1)*20+65, $hauteur_image-$h_rectangle-31, $mix);
}
}
$x1 = ($i-1)*20+65;
$y1 = $hauteur_image-$h_rectangle-31;
$trait++;
fclose($fp);
}
$i++;
}
ImagePng ($image);
}
} else {
echo "Désolé aucun visiteur n'est venu encore";
}
?>