增加日志功能

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;
      }
    }
}
	

猜你喜欢

转载自blog.csdn.net/yingmengyishengge/article/details/90137916