この質問に対する単純で簡潔な答えを見つけるのがどれほど難しいかは驚くべきことです。
- 私のウェブサイトにファイルfoo.zipがあります
- このファイルにアクセスした人の数を確認するにはどうすればよいですか?
- 必要に応じてTomcat呼び出しを使用できます
この質問に対する単純で簡潔な答えを見つけるのがどれほど難しいかは驚くべきことです。
または、リアルタイムでデータが必要ない場合は、ログファイルを解析できます。
grep foo.zip /path/to/access.log | grep 200 | wc -l
コメントへの返信:
ログファイルにはダウンロードされたバイトも含まれていますが、他の誰かが指摘したように、ユーザーがクライアント側でダウンロードをキャンセルした場合、これは正しいカウントを反映していない可能性があります。
最も簡単な方法は、ファイルに直接リンクする代わりに、カウンターをインクリメントしてから問題のファイルに転送するスクリプトにリンクすることです。
「最も簡単な方法は、おそらくファイルに直接リンクするのではなく、カウンターをインクリメントしてから問題のファイルに転送するスクリプトにリンクすることです。」
これは追加です:
$hit_count = @file_get_contents('count.txt');
$hit_count++;
@file_put_contents('count.txt', $hit_count);
header('Location: http://www.example.com/download/pics.zip'); // redirect to the real file to be downloaded
これcount.txt
は、カウンター情報を格納する単純なプレーン テキスト ファイルです。また、データベース テーブルに保存することもできますdownloadable_filename.ext
。
ログを使用します。ファイルに対する各GETリクエストは、別のダウンロードです(訪問者が何らかの理由でダウンロードを途中で停止した場合を除く)。