サーバーがログ ファイルの読み取りを許可していない場合は、訪問者を停止して分析する必要がありますか?自分だけのLOGファイルを作ろう!
あなたがしなければならないのは、PHPで実際のクリック数をカウントすることだけです。エラーはなく、「304 Not Modified」や「Internal Server Error」などのエラーはありません。コードは独自の LOG ファイルを生成します。
/* ユーザー定義変数*/
$logfile = "clf.log"; /*LOG ファイルが書き込まれる場所*/
$timezone = "+0100"; /* タイムゾーン修正*/
$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) {
return $var($name) {
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);
$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 ://$サーバー名$サーバーポート$request_uri" 200 $sizen"
write_to_log($log)?>
http://www.bkjia.com/PHPjc/314242.html
www.bkjia.com
true