アクセスランキングを表示する
自前でアクセスログからアクセスランキングを作る。
ようやくランキングを作って表示するところまで来た。
ここまでを振り返ると、
- サーバーにアクセスログ(生ログ)を出力させる
- サイト別に作られている生ログを軽量化して一つにまとめる
- まとめた「軽量化生ログ」をダウンロードしてきて、日別アクセスログファイルを作る
- パターンマッチで、ランキングを作る日別ファイルを選ぶ
- 選んだファイルのアクセスログから必要部分を抜き出した配列を作る
と言うところまで進んだ。
そしてここからは、
- 作った配列からページ別のアクセス数をカウントする
- カウントしたアクセス数を降順にソートして、表示する(終わり)
となる。
ページ別アクセス数をカウントする
array_column関数と、array_count_values関数を使って、アクセス数を数える。
array_column関数とは、配列の中の特定のキーの値だけを取り出して配列化する関数。
array_count_values関数とは、配列の中の値の出現回数をカウントして、それを配列にしてくれる。
ただし空行があったりすると、警告が出るので、@を付けてエラーメッセージが出ないようにしている。
確認のため、配列を表示してみると、こんな感じ