Home  >  Article  >  Backend Development  >  PHP version of iis log analysis program_PHP tutorial

PHP version of iis log analysis program_PHP tutorial

WBOY
WBOYOriginal
2016-07-15 13:22:23743browse

/*******************************************************

*功能:iis日志分析,分析出访问IP总数,搜索引擎抓取次数

*说明:

* 将日志文件放在网站根目录,并改名为log.log。

*演示:http://www.zhanzhangpu.com/tools/iislog/

* http://edu.ITbulo.com/UploadFiles_1485/200909/20090928132201681.gif

*作者:blackli,来自落伍者

*问题:搜索引擎蜘蛛地址不准确,尤其是Google蜘蛛地址,国内流行的地址列

* 表存在相当大的误差,能力有限,不能够解决这个问题。有兴趣的可以参考

* 下面的网址.

*参考:http://www.seonewthing.com/GoogleBotCheck.aspx

* http://googlewebmastercentral.blogspot.com/2006/09/how-to-verify-Googlebot.html

*******************************************************/

//打开日志文件

$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];

$fp = fopen("$DOCUMENT_ROOT/log.log",'rb');

if ( !$fp )

{

echo '打开文件失败';

exit;

}

//分析每行日志

$num_ip = 0; //访问IP总数

$ip = array(); //IP数据数组,其中ip[$i][0]为IP地址、ip[$i][1]为该地址出现次数

while ( !feof($fp) )

{

$line = fgets($fp,1001);

if ( substr($line,0,1) == '#' )

{

//获取日志生成时间

if ( substr($line,0,5) == '#Date' )

{

$date_info = explode(' ',$line);

//echo '日志生成时间:'.$date_info[1].' '.$date_info[2].'
';

}

}

else

{

//获取访问IP

if ( $line == '' ) continue;

$ip_info = explode(' ',$line);

for ( $j = $num_ip-1, $having_ip = false; $j >= 0 ; $j -- )

{

if ( $ip[$j][0] == $ip_info[6] )

{

$having_ip = true;

$ip[$j][1] ++ ;

break;

}

}

if ( $having_ip == false )

{

$ip[$num_ip][0] = $ip_info[6];

$ip[$num_ip][1] = 1;

$num_ip ++;

}

}

}

//获取搜索引擎蜘蛛访问次数

//baidu、Google蜘蛛地址列表

$baiduSpider = array('220.181','159.226','202.108','61.135.');

$GoogleBot = array('74.125.','209.85.','66.102.','64.233.','64.249','209.85.');

$num_Spider = $num_GoogleBot = 0;

for ( $i = 0; $i < $num_ip ; $i++ )

{

//计算百度蜘蛛访问次数

for ( $j = 0 ; $j < 4 ; $j ++ )

{

if ( substr($ip[$i][0],0,7) == $baiduSpider[$j] )

{

$num_Spider += $ip[$i][1];

continue;

}

}

//计算Google蜘蛛访问次数

for ( $j = 0 ; $j < 6 ; $j ++ )

{

if ( substr($ip[$i][0],0,7) == $GoogleBot[$j] )

{

$num_GoogleBot += $ip[$i][1];

continue;

}

}

}

//echo '百度蜘蛛请求'.$num_Spider.'次
';

//echo 'google蜘蛛请求'.$num_GoogleBot.'次
';

fclose($fp);

?>

iis日志分析-Powered by ZhanZhangPu

日志生成时间

共有IP的请求.

百度蜘蛛请求次.

google蜘蛛请求次.

IP地址列表:

for ( $i = 0 ; $i < $num_ip ; $i ++ )

{

echo $ip[$i][0].' '.$ip[$i][1].'次.
';

}

?>

Powered by 站长铺


www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/446986.htmlTechArticle/************************ ********************************** *Function: iis log analysis, analyze the total number of accessed IPs, and the number of search engine crawls *Instructions: * Place the log file in the root directory of the website and change...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn