accessログ解析

複数のファイル処理を一括して行う

<?php
/* $dir で指定したディレクトリから access_logを次々に取り出して,
 * 必要なデータを抽出,処理し,CSV形式のファイルに書きだす
 */

$dir = "/home/common/busmaps_log/all/2013/"; // 末尾のスラッシュは必須
$filename = getFiles($dir);

mb_internal_encoding("UTF-8");


/****** $filenameのひとつひとつの要素をとりだし、それを$fに代入して実行*****/
foreach($filename as $f) {
  /* access_log.yyyymmdd というファイル名のみを扱う*/
  if(!preg_match("/access_log\./",$f)) continue;
  list($dummy, $logdate) = explode(".",$f);
  $outFilename = "OD" . $logdate . ".csv";
  echo $outFilename . "\n";

  /* 必要な処理を行う (関数にして外部に出すのがよい) */
  //  $handle = fopen($f,"r"); // ファイルを開く
  //  ...
  //  fclose($handle);
}
/****************** 以上,main ********************/

/** ディレクトリ名を引数にして,その中のファイル名一覧を返す ***
 * ディレクトリ名の終わりにはスラッシュをつける
 * 返すファイル名はディレクトリ名付き
 */
function getFiles($dir) {
  if (is_dir($dir)) {
    $filename = array();
    $dh = opendir($dir);
    if ($dh != false) {
      while (1) {
        $file = readdir($dh);
        if($file == false) break;
        $filename[] = $dir . $file;
      }
      closedir($dh);
    }
    return $filename;
  } else {
    return false;
  }
}
?>

- busmaps.jpのアクセス数統計閲覧(研究室内ネットからのみアクセス可、パスワードは個別に連絡) http://busmaps.jp/awstats/awstats.pl

- 加藤くんの解析結果の地図表示ページ

http://richard.js.yamanashi.ac.jp/~toyoki/local_test/kato/ (サーバサイドスクリプトを含む)