Thinkphp는 자체 로그 시스템과 함께 제공되며 생성된 파일은 런타임에 있습니다. 오늘은 방문자의 IP, 접속시간, 브라우저 종류를 기록하는 네이티브 작성 로그 삽입 방법을 소개하겠습니다.
로그 클래스 생성<?php <code class="prettyprint linenums lang-php"><?php <br />
/*<br>
* 日志记录<br>
* 每天生成一个日志文件,当文件超过指定大小则备份日志文件并重新生成新的日志文件<br>
*<br>
*/<br>
class Log {<br>
<br>
private $maxsize = 1024000; //最大文件大小1M<br>
<br>
//写入日志<br>
public function writeLog($filename,$msg){<br>
$res = array();<br>
$res['msg'] = $msg;<br>
$res['logtime'] = date("Y-m-d H:i:s",time());<br>
<br>
//如果日志文件超过了指定大小则备份日志文件<br>
if(file_exists($filename) && (abs(filesize($filename)) > $this->maxsize)){<br>
$newfilename = dirname($filename).'/'.time().'-'.basename($filename);<br>
rename($filename, $newfilename);<br>
}<br>
<br>
//如果是新建的日志文件,去掉内容中的第一个字符逗号<br>
if(file_exists($filename) && abs(filesize($filename))>0){<br>
$content = ",".json_encode($res);<br>
}else{<br>
$content = json_encode($res);<br>
}<br>
<br>
//往日志文件内容后面追加日志内容<br>
file_put_contents($filename, $content, FILE_APPEND);<br>
}<br>
<br>
<br>
//读取日志<br>
public function readLog($filename){<br>
if(file_exists($filename)){<br>
$content = file_get_contents($filename);<br>
$json = json_decode('['.$content.']',true);<br>
}else{<br>
$json = '{"msg":"The file does not exist."}';<br>
}<br>
return $json;<br>
}<br>
}<br>
?>
/*$Log = new Log();<br>
$Log->writeLog($filename, $msg);<br>
$loglist = $Log->readLog($filename);
* 로그기록
* 매일 로그 파일을 생성하세요. 파일이 지정된 크기를 초과하면 로그 파일을 백업하고 새 로그 파일을 다시 생성하세요 * */ 클래스 로그 {
Private $maxsize = 1024000; //최대 파일 크기 1M
$Log = new Log();
$Log->writeLog($filename, $msg);
$loglist = $Log->readLog($filename);
생성된 로그 보기: http://www.sucaihuo.com/js/903.html
PHP는 사용자 액세스 IP, 브라우저 유형 및 액세스 시간을 txt 로그 파일에 기록합니다.zip
( 5.08KB 다운로드: 0회 )