2011-11-04 64 views
0

一个小型站点使用日志文件旋转为每个月生成一个单独的Web服务器日志文件。 我需要编写一个PHP脚本来检查日志文件中的数据,并生成一个包含所有月份的使用情况统计信息的单一简短摘要HTML页面。我有两个示例Web服务器日志文件2个月。统计摘要应包含以下内容:生成Web服务器日志文件的统计摘要

  1. 在一个月
  2. 从文章目录中的文件请求的数目文件请求总数
  3. 通过在一个月的文件请求消耗
  4. 总带宽
  5. 的导致404状态错误的请求数。

到目前为止下面的代码打开目录文件,但我坚持产生统计信息,有什么建议吗?

样品日志文件

118.83.4.180 -- [2007-05-01 00:43:38] "GET docs/php_class_syntax HTTP/1.0" 200 10035 "Mozilla/4.0" 
20.60.92.212 -- [2007-05-01 01:27:16] "GET docs/regex_crib_sheet HTTP/1.0" 200 12901 "Mozilla/4.0" 
133.226.169.34 -- [2007-05-01 02:10:55] "GET not/available HTTP/1.0" 404 0 "Mozilla/4.0" 
22.247.135.0 -- [2007-05-01 02:54:33] "GET reference/php_syntax HTTP/1.0" 200 8467 "Mozilla/4.0" 
249.33.56.182 -- [2007-05-01 03:38:11] "GET index.php HTTP/1.0" 200 3836 "MSIE 7.0" 
124.211.253.106 -- [2007-05-01 04:21:49] "GET articles/dynamic_images_with_php HTTP/1.0" 200 13037 "MSIE 7.0" 

PHP代码

<?php 

// Open log file 
$directory = 'files'; 

if($handle = opendir($directory.'/')) { 
    echo 'These files contains \' '.$directory.'\':<br/>'; 

    while(false !== ($file = readdir($handle))) { 

     if($file!='.'&&$file!= '..') { 
      echo '<a href ="'.$directory.'/'.$file.'">'.$file.'<br/>'; 
     } 
    } 
} 
?> 
+0

你有什么具体问题? – Polynomial

+2

我建议使用现有的Web服务器日志分析器。那里有很多东西,其中很多会有广泛的报告功能。您可以先看看[Awstats](http://awstats.sourceforge.net/)或[Webalizer Xtended](http://www.patrickfrei.ch/webalizer/features.html)。 –

+0

[为什么重新发明轮子](http://www.google.com/search?q=open+source+log+analyzer)? –

回答

0

听起来像是你需要分析日志文件。你可以从日志文件中发布一些示例吗?

+0

谢谢你们,我按照第二个建议解析日志文件,并使用file_get_contents()函数等逐行读取文件。 – user1029979