Bonjour,
J'ai récupéré un script de compteur en php il y a quelques jours que j'ai déjà pas mal modifié, avec beaucoup de mal, pour qu'il s'adapte à mes besoins.
J'ai très peu de connaissance en php et j'essaie de me débrouiller en cherchant par moi même mais là je bloque vraiment sur un point.
J'aimerais donc avoir l'avis de plus experts que moi.
Ce script n'utilise pas de bdd et écrit des stats dans un fichier txt.
Hors, au fil des jours, ce fichier devient forcement de plus en plus lourd, aussi j'aimerais qu'il se vide chaque jour (j'y ai un accès exclusif et n'ai pas besoin de conserver les données d'un jour à l'autre).
J'ignore si ce que j'ai fait est correct et peut fonctionner.
Voici la partie de mon code:
Code PHP :
//cette partie fonctionne - on écrit les données à la suite tout au long de la journée//
if ($dejala != 1) {
$count=$count+1;
$dh=fopen("$dossier/log.txt","a");
$log=date("d/m/y - H\:i")." -||- IP : ".$ip." <br>Provenance : ".$userreferer."<br>Infos : ".$useragent."<br><hr>\r\n";
fputs($dh,$log);
fclose($dh);
}
//là où je bloque - si la date des dernières modifs du fichier (dans ma logique, la veille) est différente de celle d'aujourd'hui ($now), on vide le fichier et on replace le pointeur au début pour reprendre les enregistrements notés ci-dessus//
$now=date("d/m/y",filemtime("$dossier/log.txt"));
if (date("d/m/y") != $now) {
$dh=fopen("$dossier/log.txt", "w+");
ftruncate($dh,0);
fclose($dh);
}
D'après vous est ce que c'est correct?
Si ce n'est pas le cas, comment dois je faire?
J'ai essayé en le supprimant et en le recréant unlink("$dossier/log.txt");
$dh=fopen("$dossier/log.txt","w");
fclose($dh);
Mais j'obtiens un message d'erreur sur la page stats avant que le fichier ne soit recréé.
Je vous remercie d'avance pour vos réponses.