php生成日志和自动删除日志
**
* 写日志
* @param $data : 数据
* @param $fileName : 写入哪个日志
* 调用:logs('2423','signTurn');
*/
function logs($data = null,$fileName = null){
if(is_null($data) || is_null($fileName)){
$out_arr['code'] = '400004';
return false;
}
$max_size = 1000000; //声明日志的最大尺寸1000K
$path = RUNTIME_PATH . 'log/' . $fileName;
if(!is_dir($path)){
$mkdir_re = mkdir($path,0777,TRUE);
if(!$mkdir_re){
$this -> logs($data,$fileName);
}
}
$filePath = $path . "/" . date("Y-m-d",time());
//如果文件存在并且大于了规定的最大尺寸就删除了
if(file_exists($fileName) && (abs(filesize($fileName)) > $max_size)){
unlink($fileName);
}
//删除5天前的文件
$threeDaysFile= $path . "/" .date("Y-m-d", strtotime("-2 day"));
if(file_exists($threeDaysFile) ){
unlink($threeDaysFile);
}
$time = date("Y-m-d H:i:s",time());
$re = file_put_contents($filePath, $time." ".var_export($data,TRUE)."\r\n\r\n" , FILE_APPEND);
if(!$re){
$this -> logs($data,$fileName);
}else{
// $out_arr['code'] = '000000';
return false;
}
}