首页 » Wordpress » WordPress技巧:只保留当天的网络日志

WordPress技巧:只保留当天的网络日志

19925 27

之前有一篇文章《WordPress技巧:生成网站日志》,不少读者看了后反映该日志每天都会追加生成,文件会越来越大,而tiandi自己的网站日志则是只保留一天,第二天会自动覆盖前一天的日志文件,那么如何只生成当天的日志文件呢?其实很简单,只要在原先代码的基础上加一个时间判定变OK了。

这里,我只列出上文中有关的function,原先的代码如下:

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);
	}
}

将末尾部分的

$word .= getIP() . " ";
$word .= "\n";
$fh = fopen($filename, "a");
fwrite($fh, $word);    
fclose($fh);

替换为以下即可:

$word .= getIP() . " ";
$word .= "\n";
$day = date('md',$_SERVER['REQUEST_TIME'] + 3600*8);    
if (file_exists($filename)) {
$fh = fopen($filename, "r");
$data = fread($fh, 10);
if(substr($data,0,4) == $day) 
	$fh = fopen($filename, "a");
else 
	$fh = fopen($filename, "w");
fwrite($fh, $word);    
fclose($fh);

这样程序检测到当前日期和当前日志里的日期不一致时,就会自动覆盖日志,从而达到只保留当天日志的需求。至于如何保留指定天数的日志么,也很简单,这里tiandi只说下实现的方法,把上面的$day获得的时间和日志里的比大小,大于指定天数覆盖写入,否则追加写入。

文章评分2次,平均分5.0

本文原始地址:https://www.tiandiyoyo.com/2013/10/make-log-by-define-days/
本站所有文章,除了特别注明外,均为本站原创,转载请注明出处来自www.tiandiyoyo.com

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

评论前先开启评论开关:


27 Comments

  1. 依依 :

    很实用,很不错的功能

  2. 公子 :

    mark下。。。。。

  3. 不错的博客,支持一下

  4. 只保留当天的网络日志 不错

  5. Era :

    嗯!
    以前用过一段时间来检测百度的蛛蛛。
    你这人评论前先开启评论不错哈。是代码? 还是插件?

  6. 主机后台有log生成,

  7. Leniy :

    看我最新一篇文章,我现在戒掉本地保存log了

  8. 看起来很高端的样子

  9. 海涛 :

    不错,纯技术,来看看。

  10. 霸气十足,不过我用的是CNZZ统计的

  11. FROYO :

    我是这么做的,其实可以保留多天的,根据日期,每天写入不同的文件,写新文件时把以前的日志压缩一下,TXT文本用ZIP压缩一下可以变得非常小

  12. 做这个的目的是?

  13. 博主是做前端的?

  14. 21氪 :

    现在不用wordpress了 占资源

  15. 博客监控LOG插件??

载入分页评论...