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
- require_once 'clientipaddress.php';
- require_once 'validateipaddress.php';
- function write_log($logfile, $textline=false) {
- global $log_dir;
- $ipaddress = client_ip_address();
- if (!validate_ip_address($ipaddress)) {
- return false;
- }
- $timestamp=date('Y-m-d H:i:s');
- $logmsg="$timestamp $ipaddress";
- if ($textline) {
- $logmsg .= "\t$textline";
- }
- $logmsg.="\n";
- $file = isset($log_dir) ? ($log_dir . DIRECTORY_SEPARATOR . $logfile) : $logfile;
- $r = @file_put_contents($file, $logmsg, FILE_APPEND);
- return $r;
- }
Commentaires