Heim > php教程 > php手册 > PHP版iis日志分析程序

PHP版iis日志分析程序

WBOY
Freigeben: 2016-06-21 08:57:04
Original
847 Leute haben es durchsucht

说明: 将日志文件放在网站根目录,并改名为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);
?>



iis日志分析-Powered by jzxue




       

日志生成时间


       

                共有IP的请求.

                百度蜘蛛请求次.

                google蜘蛛请求次.
       

       

                IP地址列表:

                                        for ( $i = 0 ; $i                         {
                                echo $ip[$i][0].'     '.$ip[$i][1].'次.
';
                        }
                ?>
       

       
Powered by 建站学




 



Verwandte Etiketten:
iis
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage