用PHP生成自己的LOG文件

如果你的服务器不容许你读他的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
$server_name$server_port$request_uri/” 200 $size/n”;
write_to_log($log); ?