首页 » Wordpress » WordPress技巧:生成网站访问日志

WordPress技巧:生成网站访问日志

16012 25

今天tiandi分享一则wordpress技巧,让wordpress自己生成网站访问日志,日志内容可以自己定义,大致可以和主机供应商后台查询的日志差不多,这样就可以省去每次都要登录主机后台查询。

开打主题下的function,插入以下代码:

make_log_file();
function make_log_file(){
        //log文件名
	$filename = 'mylogs.txt'; 
        //去除rc-ajax评论以及cron机制访问记录
	if(strstr($_SERVER["REQUEST_URI"],"rc-ajax")== false 
		&& strstr($_SERVER["REQUEST_URI"],"wp-cron.php")== false ) {
		$word .= date('mdHis',$_SERVER['REQUEST_TIME'] + 3600*8) . " ";
                //访问页面
		$word .= $_SERVER["REQUEST_URI"] ." ";
                //协议
		$word .= $_SERVER['SERVER_PROTOCOL'] ." ";
                //方法,POST OR GET
		$word .= $_SERVER['REQUEST_METHOD'] . " ";
		//$word .= $_SERVER['HTTP_ACCEPT'] . " ";
                //获得浏览器信息
		$word .= getbrowser(). " ";
                //传递参数
		$word .= "[". $_SERVER['QUERY_STRING'] . "] ";
                //跳转地址
		$word .= $_SERVER['HTTP_REFERER'] . " ";
                //获取IP
		$word .= getIP() . " ";
		$word .= "\n";
		$fh = fopen($filename, "a");
		fwrite($fh, $word);    
		fclose($fh);
	}
}
//获取IP地址,网上现成代码
function getIP() //get ip address
    {
        if (getenv('HTTP_CLIENT_IP')) 
        {
            $ip = getenv('HTTP_CLIENT_IP');
        } 
        else if (getenv('HTTP_X_FORWARDED_FOR')) 
        {
            $ip = getenv('HTTP_X_FORWARDED_FOR');
        } 
        else if (getenv('REMOTE_ADDR')) 
        {
            $ip = getenv('REMOTE_ADDR');
        } 
        else 
        {
            $ip = $_SERVER['REMOTE_ADDR'];
        }
        return $ip;
    }
//获取浏览器信息,移动端,平板电脑数据还未加上。
 function getbrowser()
    {
        $Agent = $_SERVER['HTTP_USER_AGENT'];
        $browser = '';
        $browserver = '';

        if(ereg('Mozilla', $Agent) && ereg('Chrome', $Agent))
        {
            $temp = explode('(', $Agent);
            $Part = $temp[2];
            $temp = explode('/', $Part);
            $browserver = $temp[1];
            $temp = explode(' ', $browserver);
            $browserver = $temp[0];
            $browserver = $browserver;
            $browser = 'Chrome';
        }
		if(ereg('Mozilla', $Agent) && ereg('Firefox', $Agent))
        {
            $temp = explode('(', $Agent);
            $Part = $temp[1];
            $temp = explode('/', $Part);
            $browserver = $temp[2];
            $temp = explode(' ', $browserver);
            $browserver = $temp[0];
            $browserver = $browserver;
            $browser = 'Firefox';
        }
        if(ereg('Mozilla', $Agent) && ereg('Opera', $Agent)) 
        {
            $temp = explode('(', $Agent);
            $Part = $temp[1];
            $temp = explode(')', $Part);
            $browserver = $temp[1];
            $temp = explode(' ', $browserver);
            $browserver = $temp[2];
            $browserver = $browserver;
            $browser = 'Opera';
        }
        if(ereg('Mozilla', $Agent) && ereg('MSIE', $Agent))
        {
            $temp = explode('(', $Agent);
            $Part = $temp[1];
            $temp = explode(';', $Part);
            $Part = $temp[1];
            $temp = explode(' ', $Part);
            $browserver = $temp[2];
            $browserver = $browserver;
            $browser = 'Internet Explorer';
        }
        if($browser != '')
        {
            $browseinfo = $browser.' '.$browserver;
        } 
        else
        {
            $browseinfo = $_SERVER['HTTP_USER_AGENT'];
        }
        return $browseinfo;
    }

这样,在你的站点根目录上就会生成mylogs.txt文件,你通过http://你的域名/mylogs.txt可以直接访问。比如像千丝海阁的mylogs.txt,这样的日志要比chinaz这种统计工具生成的日志精准的多,你可以通过日志得知哪些人访问哪些文件,哪些蜘蛛爬行过了等等信息。

文章评分2次,平均分5.0

本文原始地址:https://www.tiandiyoyo.com/2013/06/how-to-make-log-file-for-wordpress/
本站所有文章,除了特别注明外,均为本站原创,转载请注明出处来自www.tiandiyoyo.com

您可能还会对以下文章感兴趣:

评论前先开启评论开关:


25 Comments

  1. Aivier :

    我感觉你这个可读性比Apache的log还差

  2. 嘿,刚好要弄~~~谢谢~

  3. 好高兴啊!麦葱酱又来打开了![2013年8月9日下午2:34:16]

  4. 这段代码是放在functions.php的哪个位置?我刚试了下放在最后,结果乱码

  5. 本来就小水管,要看还是到服务器下载下来

  6. 三子 :

    能把TXT。优化成html最好,更直观的看

  7. 看起来很不错 不知道会不会吃资源?
    代码还可以完善下啊 直接再生成一个蜘蛛爬行数据页面

  8. 这是apache的, 不知 Nginx 能否获取呢?

  9. 阿帕奇自带日志啊

    • tiandi :

      是啊,但不知道怎么直接从网站上可以调用显示/logs下的gz,所以只能折腾这个出来。

  10. 看这日志头大,不如直接用个百度统计算了

  11. 这个不错。再进行筛选下,不过你的日志貌似不支持中文字符。

  12. 太麻烦了 我也是it的

  13. 这个功能不错

  14. Rilun :

    沙发
    介个可以有啊 可以用来做做访客调查什么的

载入分页评论...