日別のアクセスログファイルを作成

日別のアクセスログファイルを作るの続き。

 

複数のサーバーからアクセスログ(軽量化した生ログ)をダウンロードしてくる。

 

それを指定のディレクトリに納めた上で、指定した日付を含むアクセスログをパターンマッチで見つけて、最後に出力用にまとめる。

 

色んな日付のアクセスログが混ざっていても、ここでふるい分ける。

 

ここで注意が必要なのが、日付の表示形式で、Apacheのアクセスログは、

[26/Jan/2018:00:12:59 +0900]

という形式で出力されてくるので、ちょっと工夫が必要になる。

 

と言うのもパターンマッチは普通、preg_match( $pattern , $data)の形式で使うのだが、日付表示にスラッシュ(/)が含まれているため、このままでは

Warning: preg_match(): Delimiter must not be alphanumeric or backslash
(デリミタは、英数字やバックスラッシュ以外でないとダメ)

というデリミタ・エラーが出てしまうのだ。

 

デリミタというのは「区切り文字」のことで、 通常は「/」が使われるのだが、日付にもスラッシュがあるため、混乱が起こっていると言うことらしい。

 

そこで、スラッシュ以外のデリミタを使う必要がある。

 

以下の例では、preg_match('{'.$yesterday.'}', $logstar)と言うように、{ }を使っているが、他にも[ ]とか、<>等も使えるので、それに変更する。。





パターンマッチで、特定日付にマッチするアクセスログだけ抜き出す。

 

成型したログファイルを出力

出力される拡張子は、今回は[.txt]にしてみた。

 

軽量化された生ログが【.log】で、→日別にまとめてない段階が【.ini】で、→日別にまとめた段階が【.txt】と言う風に、混じってもどの段階か分かるようにしている。

 

ということで、次は日別のアクセスランキングを作るPHPスクリプト。

広告


Twitter
Facebook
LINE
はてな
ポケット



売れてます

★稼げるアフィリエイター専用SEO分析ツール「COMPASS」

大幅バージョンアップ完了!アフィリサイト作成システムSIRIUS

★SEOに強い戦略的テンプレート「賢威7」

アフィリエイト教材 最新人気ランキング