1.作用:记录信息到日志
2.思路:
给定内容写入文件(fopen、fread...)
如果文件>1M,重新写一份
传给我一个内容
判断当前日志大小
如果>1M,备份
否则,写入文件
class Log{
const LOGFILE='curr.log';//建一个常量代表日志文件的名称
//写日志
public static function write($cont){
//$cont.="\r\n";换行
//判断是否备份
$log=self::isBak();//计算出日志文件地址
$fh=fopen($log,'ab');
fwrite($fh,$cont);
fclose($fh);
}
//备份日志
public static function bak(){
//把原来的日志改个名并存储起来,年月日.bak形式
$log=ROOT.'data/log/curr.log';
$bak=ROOT.'data/log/'.date('ymd').mt_rand(1000,99999).'.bak';
rename($log,$bak);
}
//读取并判断日志的大小
public static function isBak(){
$log=ROOT.'data/log/curr.log';
if(file_exists($log)){//如果文件不存在,则创建并返回
touch($log);//touch() 函数设置指定文件的访问和修改时间
//如果成功,该函数返回 TRUE。如果失败,则返回 FALSE
return $log;
}
$size=filesize($log);
if($size>1024*1024){//大于1M
return $log;
}
//>1M
if(!self::isBak()){
return $log;
}else{
touch($log);
return $log;
}
}
}