Thinkphp自備日誌系統,產生的檔案在 Runtime下面。今天我們就介紹一款原生寫的插入日誌方法,記錄訪客的ip,存取時間和瀏覽器類型。
產生日誌類別<?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);
查看產生的日誌:http://www.sucaihuo.com/js/903.html
PHP記錄使用者存取ip、瀏覽器類型和訪問時間到txt日誌檔案.zip
( 5.08 KB 下載:0 次 )