function compteur_visites(){
//vous pouvez modifier le chemin du fichier
$chemin_stats = "statistiques_visites.txt";
//stats par défaut
$aujourdhui = 1;
//si le fichier de stats n'est paos encore créé
if(!file_exists($chemin_stats)){
//création - première visite
$tableau_stats = [];
}else{
//ouvre le fichier et récupère les lignes dans un tableau
$tableau_stats = file($chemin_stats, FILE_SKIP_EMPTY_LINES | FILE_IGNORE_NEW_LINES);
}
if(empty($tableau_stats)){
file_put_contents($chemin_stats, date("d-m-Y") . ":1");
$tableau_stats = [];
}else{
/* Le contenu de ce fichier est de type suivant : "[date]:[nombre d'affichage pour cette journée]"
Exemples :
25-10-2023:2548
26-10-2023:4528
27-10-2023:3584
28-10-2023:1253
*/
// Prends le dernier élément du tableau et vérifie si c'est la date d'aujourd'hui
$derniere_ligne = end($tableau_stats);
// explode() va nous permettre de récupérer la date et le nombre d'affichage de cette journée
$stat = explode(":", $derniere_ligne);
//si la date de la dernière ligne est aujourd'hui, on rajoute 1 affichage à cette ligne
if($stat[0] == date("d-m-Y")){
$aujourdhui = ((int) $stat[1]) + 1;
//enlève le dernier element du tableau
array_pop($tableau_stats);
//pour la remplacer par la nouvelle valeur
array_push($tableau_stats, date("d-m-Y") . ':' . $aujourdhui);
file_put_contents($chemin_stats, implode("\n", $tableau_stats));
//sinon on ajoute une nouvelle ligne pour aujourd'hui
}else{
//pour la remplacer par la nouvelle valeur
array_push($tableau_stats, date("d-m-Y") . ':1');
file_put_contents($chemin_stats, implode("\n", $tableau_stats));
}
}
//statistiques totales depuis le lancement du site
$total = empty($tableau_stats) ? 1 : 0;
foreach($tableau_stats as $stat){
$stat = explode(':', $stat);
$total += $stat[1];
}
return [
'aujourdhui' => $aujourdhui,
'total' => $total,
'depuis' => count($tableau_stats),
];
}
//UTILISATION
//on compte la visite et on récupère les stats dans $compteur_visites
$compteur_visites = compteur_visites();
echo "Depuis {$compteur_visites['aujourdhui']} jour(s), le site comptabilise {$compteur_visites['total']} visite(s) au total, et {$compteur_visites['aujourdhui']} aujourd'hui.
";