PHPとSQLで一定期間のページの訪問数をカウントするにはどうすればよいですか?
現在、私が持っているのは、すべてのページの訪問数と呼ばれるフィールドです。しかし、それは単なる数字であり、訪問の時間を教えてくれません。特定の月の訪問数を数えるためだけに新しい列を開いてもかまいません。しかし、どうすればそれを行うことができますか?
なぜ私はそれをしているのですか?どのウェブサイトのページが他のページよりも改善されたかを示す月次レポートのためだけに。アイデア?コード?
すべてが歓迎されます
迅速な追跡のみを目的とする場合は、各ページにカウンタースクリプトを含めることができます。PHPの非常に大雑把な図を次に示します。
<?php
$datafile = 'pick_a_filename.txt';
if(file_exists($datafile)) {
$count = file_get_contents($datafile);
$count++;
$fp = fopen($datafile, 'w');
fwrite($fp, $count);
fclose($fp);
} else {
$count = 1;
$fp = fopen($datafile, 'w');
fwrite($fp, $count);
fclose($fp);
}
?>
次に、作成したファイルを毎月確認するか、毎月統計ファイルに内容を追加するスクリプトを追加します。トラフィックが多い場合は、LOCK_EXと書き込み前のランダムな遅延を含めて、2人が同時に書き込みを行ってもカウントがリセットされないようにします。これは、小さなサイトでもLOCK_EXだけを使用した場合に発生します。ランダムな遅延で修正されました。