2011-11-04 99 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