Voici une fonction plus légère(ou plutot 2 fonctions):
la première fonction file_add ajoute les données à la ligne suivante du fichier, celle-ci peut etre arrangée il me semble.Code PHP :
<?php //By IGstaff
function file_add($add, $filename = 0, $order = 1) {
$filename = (($filename) ? $filename : "save_".date_fr("Y-m-d").".txt");
$content = (file_exists($filename)) ? file_get_contents($filename) : '';
$content = ($order) ? $content.$add."\n" : $add."\n".$content;
file_put_contents($filename,$content);
return true;
}
function log_save($type, $action, $text, $filename = 0) {
global $ugamela_root_path, $logname, $logpath;
$filename = $ugamela_root_path."logs/".$logpath[$type].(($filename) ? $filename : $logname[$type]."_".date_fr("Y-m-d").".txt");
$text = htmlentities($text);
$log = array();
$log['time'] = time();
$log['action'] = $action;
$log['text'] = $text;
$log = json_encode($log);
return file_add($log, $filename);
}
?>
La deuxième, log_save, utilise la première en y enregistrant les données envoyées.
Pour en expliquer les fonctionnements, j'ai divisé mes logs en 3 types(normaux, erreurs et administration), chaque log a son ID ainsi que ses actions(ayant un ID aussi).
Tous cela est à définir par le développeur.
J'utilise ma fonction comme ceci:
Code PHP :
<?php
log_save(ERROR, 3, "Le texte a enregistré et qui pourra etre lu par les administrateurs du site.");
?>