20

log

write_log
SYNOPSIS

write_log($logfile, $textline=false)

DESCRIPTION

write_log ajoute une ligne à la fin du fichier journal $logfile dans le dossier $log_dir. Chaque ligne commence par la date et l'heure courantes et l'adresse IP du client suivis par $textline séparé par un caractère de tabulation.

La variable globale $log_dir est définie dans config.inc. Vérifiez les droits d'écriture sur ce dossier.

write_log retourne le nombre d'octets écrits dans le fichier journal, ou false si l'adresse IP du client est invalide ou si le fichier journal ne peut pas être écrit.

EXEMPLE
php > require 'library/log.php';
php > global $log_dir;
php > $log_dir = 'log';
php > write_log('enter.err', 'admin');
$ cat log/enter.err 
2026-08-13 17:02:47 127.0.0.1	admin
CODE
  1. require_once 'clientipaddress.php';
  2. require_once 'validateipaddress.php';
  3.  
  4. function write_log($logfile, $textline=false) {
  5.     global $log_dir;
  6.  
  7.     $ipaddress = client_ip_address();
  8.  
  9.     if (!validate_ip_address($ipaddress)) {
  10.         return false;
  11.     }
  12.  
  13.     $timestamp=date('Y-m-d H:i:s');
  14.  
  15.     $logmsg="$timestamp $ipaddress";
  16.     if ($textline) {
  17.         $logmsg .= "\t$textline";
  18.     }
  19.     $logmsg.="\n";
  20.  
  21.     $file = isset($log_dir) ? ($log_dir . DIRECTORY_SEPARATOR . $logfile) : $logfile;
  22.  
  23.     $r = @file_put_contents($file, $logmsg, FILE_APPEND);
  24.  
  25.     return $r;
  26. }
VOIR AUSSI

track, clientipaddress, validateipaddress

Commentaires

Votre commentaire :
[p] [b] [i] [u] [s] [quote] [pre] [br] [code] [url] [email] strip aide 2000

Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s], [quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url], [email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].