PHP版iis日志分析程序
Jun 21, 2016 am 08:57 AM说明: 将日志文件放在网站根目录,并改名为log.log。演示:http://www.jzxue.com/tools/iislog/ http://www.jzxue.com/tools/iislog/demo.gif
/*******************************************************
*功能:iis日志分析,分析出访问IP总数,搜索引擎抓取次数
*说明:
* 将日志文件放在网站根目录,并改名为log.log。
*演示:http://www.jzxue.com/tools/iislog/
* http://www.jzxue.com/tools/iislog/demo.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
{
//计算百度蜘蛛访问次数
for ( $j = 0 ; $j
{
if ( substr($ip[$i][0],0,7) == $baiduSpider[$j] )
{
$num_Spider += $ip[$i][1];
continue;
}
}
//计算google蜘蛛访问次数
for ( $j = 0 ; $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);
?>
日志生成时间
共有IP的请求.
百度蜘蛛请求次.
google蜘蛛请求次.
IP地址列表:
for ( $i = 0 ; $i {
echo $ip[$i][0].' '.$ip[$i][1].'次.
';
}
?>

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

How to install nginx1.10.1 reverse proxy in Windows to access IIS website

Process cannot access file error fix on Windows 11/10

How to solve the problem when the php station uses iis with garbled characters but apache is fine?
