PHP記錄用戶訪問ip、瀏覽器類型和訪問時間到txt日志文件

Log.class.php

<?php

/*

* 日志記錄

* 每天生成一個日志文件,當(dāng)文件超過指定大小則備份日志文件并重新生成新的日志文件

*

*/

class Log {

private $maxsize = 1024000; //最大文件大小1M

//寫入日志

public function writeLog($filename,$msg){

$res = array();

$res['msg'] = $msg;

$res['logtime'] = date("Y-m-d H:i:s",time());

//如果日志文件超過了指定大小則備份日志文件

if(file_exists($filename) && (abs(filesize($filename)) > $this->maxsize)){

$newfilename = dirname($filename).'/'.time().'-'.basename($filename);

rename($filename, $newfilename);

}

//如果是新建的日志文件,去掉內(nèi)容中的第一個字符逗號

if(file_exists($filename) && abs(filesize($filename))>0){

$content = ",".json_encode($res);

}else{

$content = json_encode($res);

}

//往日志文件內(nèi)容后面追加日志內(nèi)容

file_put_contents($filename, $content, FILE_APPEND);

}

//讀取日志

public function readLog($filename){

if(file_exists($filename)){

$content = file_get_contents($filename);

$json = json_decode('['.$content.']',true);

}else{

$json = '{"msg":"The file does not exist."}';

}

return $json;

}

}

?>


index.php

<?php

ini_set('date.timezone','Asia/Shanghai');

require_once('Log.class.php');

$filename = "logs/log_" . date("Ymd", time()) . ".txt";

$msg = array(

'ip' => $_SERVER["REMOTE_ADDR"],

'user' => getBrowser()

);

$Log = new Log();

$Log->writeLog($filename, $msg);

$loglist = $Log->readLog($filename);

//獲取瀏覽器類型

function getBrowser() {

$user_OSagent = $_SERVER['HTTP_USER_AGENT'];

if (strpos($user_OSagent, "Maxthon") && strpos($user_OSagent, "MSIE")) {

$visitor_browser = "Maxthon(Microsoft IE)";

} elseif (strpos($user_OSagent, "Maxthon 2.0")) {

$visitor_browser = "Maxthon 2.0";

} elseif (strpos($user_OSagent, "Maxthon")) {

$visitor_browser = "Maxthon";

} elseif (strpos($user_OSagent, "Edge")) {

$visitor_browser = "Edge";

} elseif (strpos($user_OSagent, "Trident")) {

$visitor_browser = "IE";

} elseif (strpos($user_OSagent, "MSIE")) {

$visitor_browser = "IE";

} elseif (strpos($user_OSagent, "MSIE")) {

$visitor_browser = "MSIE 較高版本";

} elseif (strpos($user_OSagent, "NetCaptor")) {

$visitor_browser = "NetCaptor";

} elseif (strpos($user_OSagent, "Netscape")) {

$visitor_browser = "Netscape";

} elseif (strpos($user_OSagent, "Chrome")) {

$visitor_browser = "Chrome";

} elseif (strpos($user_OSagent, "Lynx")) {

$visitor_browser = "Lynx";

} elseif (strpos($user_OSagent, "Opera")) {

$visitor_browser = "Opera";

} elseif (strpos($user_OSagent, "MicroMessenger")) {

$visitor_browser = "微信瀏覽器";

} elseif (strpos($user_OSagent, "Konqueror")) {

$visitor_browser = "Konqueror";

} elseif (strpos($user_OSagent, "Mozilla/5.0")) {

$visitor_browser = "Mozilla";

} elseif (strpos($user_OSagent, "Firefox")) {

$visitor_browser = "Firefox";

} elseif (strpos($user_OSagent, "U")) {

$visitor_browser = "Firefox";

} else {

$visitor_browser = "其它";

}

return $visitor_browser;

}

?>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容