加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用PHP生成自己的LOG文件

发布时间:2023-05-27 14:37:50 所属栏目:PHP教程 来源:
导读:假如你的服务器不容许你读他的LOG文件,那你只好停下来分析你的访问者?做你自己的LOG文件吧,你仅需做的事情是用PHP计算实际的点击次数,没有错误,没有象'304 Not Modified' 和 'Internal Server Error
假如你的服务器不容许你读他的LOG文件,那你只好停下来分析你的访问者?做你自己的LOG文件吧,你仅需做的事情是用PHP计算实际的点击次数,没有错误,没有象'304 Not Modified' 和 'Internal Server Error' 一样的错误,你的代码将生成自己的LOG文件:

<?php 
/* 用户定义变量 */ 
$logfile = "clf.log"; /*LOG文件写到那里 */ 
$timezone = " 0100"; /* Timezone correction */ 
$lookup_size = true; /* 设置文件的权限 */ 
$document_root = "/usr/local/apache/share/htdocs"; 
 
/* 他可能或不可能对相同的客户端记数 
* 一定要对$document_root 这个变量进行设置才可以工作 
*/ 
 
function write_to_log($str) { 
if($fd = @fopen($GLOBALS[ "logfile"], "a")) { 
fputs($fd, $str); 
fclose($fd); 


 
function get_var($name,$default) { 
if($var = getenv($name)) { 
return $var; 
} else { 
return $default; 


 
if($remote_host = get_var( "REMOTE_HOST", false)) { 
$remote_host = get_var( "REMOTE_ADDR", "-"); 

$remote_user = get_var( "REMOTE_USER", "-"); 
$remote_ident = get_var( "REMOTE_IDENT", "-"); 
$server_port = get_var( "SERVER_PORT", 80); 
if($server_port!=80) { 
$server_port = ":" . $server_port; 
} else { 
$server_port = ""; 

$server_name = get_var( "SERVER_NAME", "-"); 
$request_method = get_var( "REQUEST_METHOD", "GET"); 
$request_uri = get_var( "REQUEST_URI", ""); 
$user_agent = get_var( "HTTP_USER_AGENT", ""); 
if($lookup_size == true && $document_root) { 
$filename = ereg_replace( "?.*", "", $request_uri); 
$filename = "$document_root$filename"; 
if(!$size = filesize($filename)) { 
$size = 0; 

} else { 
$size = 0; 

 
$date = gmdate( "d/M/Y:H:i:s"); 
$log = "$remote_host $remote_ident $remote_user [$date $timezone] "". 
"$request_method http://$server_name$server_port$request_uri" 200 $sizen"; 
 
write_to_log($log); 
?> 
 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章