Envoyer un log du serveur par email quotidiennement

Nihonium

Membre expert
Club iGen
27 Juillet 2008
2 328
530
Bonjour,

Suite a des spams invasifs sur mon site, j'ai décidé de logger toutes les IP et heure d'acces de mes visiteurs. Ca me permet a terme de bannir les bots en analysant les logs.
Seulement, des logs en format .html sur un site, c'est pas tellement sécurisé et j'aimerais donc virer ces logs quotidiennement, en les envoyant sur mon email automatiquement.

La fonction que j'utilise est la suivante:


Bloc de code:
writeToLogFile($msg);
function writeToLogFile($msg) {
     $today = date("Y_m_d");
     $logfile = $today."_log.html";
     $dir = 'logs';
     $saveLocation=$dir . '/' . $logfile;
     if  (!$handle = @fopen($saveLocation, "a")) {
          exit;
     }
     else {
          if (@fwrite($handle,"$msg\r\n<br /><br />") === FALSE) {
               exit;
          }
   
          @fclose($handle);
     }
     }
Je bloque un peu sur l'envoi d'email. J'aimerais recevoir un mail par jour, avec seulement le fichier .html correspondant au jour actuel. Les logs sont nommés sur le schema suivant: "2012_08_11_log.html", donc j'ai un fichier par jour de créé avec comme nom la date du jour.

Il me faut donc recupérer le nom du fichier dans mon dossier "logs" et implementer une fonction qui ne l'envoie qu'une fois par jour, à minuit par exemple.

Je m'en remets à votre expertise de programmeurs PHP pour m'aider, please :)

Merci d'avance!