用PHP生成自己的LOG文件
用PHP生成自己的LOG文件
发布时间:2016-12-29 来源:查字典编辑
摘要:如果你的服务器不容许你读他的LOG文件,那你只好停下来分析你的访问者?做你自己的LOG文件吧!你仅需做的事情是用PHP计算实际的点击次数,没...

如果你的服务器不容许你读他的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);

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类