comment ajouter une date dans un code de compteur

Mammouth du PHP | 501 Messages

29 avr. 2021, 19:52

bonjour a tous
je viens de trouver un code qui me permet de récupérer l adresse ip de la personne qui vient visiter une page de mon site
je trouve cela génial
mais j aurais souhaiter connaître la date et l heure de cette visite
y a t il moyen de pouvoir ajouter ce genre d infos dans le fichier texte

Code : Tout sélectionner

<?php $filename = 'test.txt'; if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $somecontent=$_SERVER['HTTP_X_FORWARDED_FOR']; else $somecontent=$_SERVER['REMOTE_ADDR']; // Assurons nous que le fichier est accessible en écriture if (is_writable($filename)) { // Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout // Le pointeur de fichier est placé à la fin du fichier // c'est là que $somecontent sera placé if (!$handle = fopen($filename, 'a')) { echo "Impossible d'ouvrir le fichier ($filename)"; exit; } // Ecrivons quelque chose dans notre fichier. if (fwrite($handle, $somecontent."\r\n") === FALSE) { echo "Impossible d'écrire dans le fichier ($filename)"; exit; } echo "L'écriture de ($somecontent) dans le fichier ($filename) a réussi"; fclose($handle); } else { echo "Le fichier $filename n'est pas accessible en écriture."; } ?>

Mammouth du PHP | 2635 Messages

29 avr. 2021, 20:01

https://www.php.net/manual/fr/function. ... ntents.php est préférable pour écrire dans un fichier.

le code écrit $somecontent dans le fichier, donc pour avoir en plus la date, il faut ajouter la date à $somecontent

à noter que la plupart des hébergeurs proposent l'accès aux fichiers logs, fichiers qui comprennent la date et l'ip.

Mammouth du PHP | 501 Messages

29 avr. 2021, 22:12

merci pour la reponse
mais comment je dois m y prendre pour ajouter la date a $somecontent

Mammouth du PHP | 501 Messages

30 avr. 2021, 00:31

voici donc le fichier final pour ceux que cela intéresse

Code : Tout sélectionner

<?php $filename = 'test.txt'; if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $somecontent=$_SERVER['HTTP_X_FORWARDED_FOR']; else $somecontent=$_SERVER['REMOTE_ADDR']; $date=$_SERVER['REQUEST_TIME']; $date1 = date('Y-m-d H:i:s', $date +7200); // Date du jour setlocale(LC_TIME, "fr_FR"); //echo "Previsions pour le ".strftime("%A %d %B %G", strtotime($date1))." "; // Assurons nous que le fichier est accessible en écriture if (is_writable($filename)) { // Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout // Le pointeur de fichier est placé à la fin du fichier // c'est là que $somecontent sera placé if (!$handle = fopen($filename, 'a')) { echo "Impossible d'ouvrir le fichier ($filename)"; exit; } // Ecrivons quelque chose dans notre fichier. //echo $date2; if (fwrite($handle,strftime("%A %d %B %G %H:%M:%S", strtotime($date1)). $somecontent."\r\n") === FALSE) { echo "Impossible d'écrire dans le fichier ($filename)"; exit; } echo "L'écriture de ($somecontent) dans le fichier ($filename) a réussi"; fclose($handle); } else { echo "Le fichier $filename n'est pas accessible en écriture."; } ?>

Mammouth du PHP | 501 Messages

30 avr. 2021, 00:32

mais je souhaiterais a présent ajouter l url de la page

Mammouth du PHP | 501 Messages

30 avr. 2021, 00:44

alors voila
si on pouvait corriger mon code svp merci

Code : Tout sélectionner

<?php $filename = 'test.txt'; if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $somecontent=$_SERVER['HTTP_X_FORWARDED_FOR']; else $somecontent=$_SERVER['REMOTE_ADDR']; $date=$_SERVER['REQUEST_TIME']; $adresse=$_SERVER['HTTP_HOST']; $date1 = date('Y-m-d H:i:s', $date +7200); // Date du jour if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') $link = "https"; else $link = "http"; // Here append the common URL characters. $link .= "://"; // Append the host(domain name, ip) to the URL. $link .= $_SERVER['HTTP_HOST']; // Append the requested resource location to the URL $link .= $_SERVER['REQUEST_URI']; setlocale(LC_TIME, "fr_FR"); //echo "Previsions pour le ".strftime("%A %d %B %G", strtotime($date1))." "; // Assurons nous que le fichier est accessible en écriture if (is_writable($filename)) { // Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout // Le pointeur de fichier est placé à la fin du fichier // c'est là que $somecontent sera placé if (!$handle = fopen($filename, 'a')) { echo "Impossible d'ouvrir le fichier ($filename)"; exit; } // Ecrivons quelque chose dans notre fichier. echo $date2; if (fwrite($handle,strftime("%A %d %B %G %H:%M:%S", strtotime($date1))."\t $somecontent.$link.\r\n") === FALSE) { echo "Impossible d'écrire dans le fichier ($filename)"; exit; } echo "L'écriture de ($somecontent) dans le fichier ($filename) a réussi"; fclose($handle); } else { echo "Le fichier $filename n'est pas accessible en écriture."; } ?>

Eléphanteau du PHP | 10 Messages

21 avr. 2024, 10:45

Code : Tout sélectionner

<?php $filename = 'compteur.txt'; if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $somecontent=$_SERVER['HTTP_X_FORWARDED_FOR']; } else { $somecontent=$_SERVER['REMOTE_ADDR']; $date=$_SERVER['REQUEST_TIME']; $adresse=$_SERVER['HTTP_HOST']; $date1 = date('Y-m-d H:i:s', $date +7200); // Date du jour } if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') { $link = "https"; } else { $link = "http"; // Here append the common URL characters. $link .= "://"; // Append the host(domain name, ip) to the URL. $link .= $_SERVER['HTTP_HOST']; // Append the requested resource location to the URL $link .= $_SERVER['REQUEST_URI']; setlocale(LC_TIME, "fr_FR"); } //echo "Previsions pour le ".strftime("%A %d %B %G", strtotime($date1))." "; // Assurons nous que le fichier est accessible en écriture if (is_writable($filename)) { // Dans notre exemple, nous ouvrons le fichier $filename en mode d'ajout // Le pointeur de fichier est placé à la fin du fichier // c'est là que $somecontent sera placé if (!$handle = fopen($filename, 'a')) { echo "Impossible d'ouvrir le fichier ($filename)"; exit; } // Ecrivons quelque chose dans notre fichier. echo $date2; if (fwrite($handle,strftime("%A %d %B %G %H:%M:%S", strtotime($date1))."\t $somecontent.$link.\r\n") === FALSE) { echo "Impossible d'écrire dans le fichier ($filename)"; exit; } echo "L'écriture de ($somecontent) dans le fichier ($filename) a réussi"; fclose($handle); } else { echo "Le fichier $filename n'est pas accessible en écriture."; } ?> [code]

Avatar du membre
Mammouth du PHP | 1489 Messages

21 avr. 2024, 11:25

Ceci te sert à rien :
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on') {
$link = "https";
} else {
$link = "http";
// Here append the common URL characters.
$link .= "://";
// Append the host(domain name, ip) to the URL.
$link .= $_SERVER['HTTP_HOST'];
Mets directement l'URL de ton site dans $link, au départ, puis ajoute REQUEST_URI.

Aussi, ceci est inutile, il sera toujours "writable" ton compteur.txt :
if (is_writable($filename)) {
La concaténation PHP est incorrecte ici :
if (fwrite($handle,strftime("%A %d %B %G %H:%M:%S", strtotime($date1))."\t $somecontent.$link.\r\n") === FALSE) {
Correction :
if (fwrite($handle,strftime("%A %d %B %G %H:%M:%S", strtotime($date1))."\t" .  $somecontent . $link . "\r\n") === FALSE) {
ATTENTION : $date1 ne sera jamais définit si $_SERVER['HTTP_X_FORWARDED_FOR'] existe, la condition PHP est biscornue.