计算网站上文件下载的最佳方式

Dav*_*lle 8 counter

令人惊讶的是,找到这个问题的简单,简洁的答案是多么困难:

  1. 我的网站上有一个文件foo.zip
  2. 我该怎么做才能找出有多少人访问过这个文件?
  3. 如有必要,我可以使用Tomcat调用

更新:如果你建议写一个脚本,你能指点一个体面的吗?

Sea*_*ght 11

或者,如果您不需要实时数据,则可以解析日志文件.

grep foo.zip /path/to/access.log | grep 200 | wc -l
Run Code Online (Sandbox Code Playgroud)

回复评论:

日志文件还包含下载的字节,但正如其他人所指出的,如果用户在客户端取消下载,则这可能无法反映正确的计数.

  • 编写一个增加计数器然后将请求转发到另一个文件的脚本更简单?Alrighty. (4认同)

Chr*_*ris 10

最简单的方法可能是直接链接到文件,链接到增加计数器然后转发到相关文件的脚本.


小智 6

答案是“最简单的方法可能不是直接链接到文件,而是链接到一个脚本,该脚本会增加计数器,然后转发到有问题的文件。”

这是额外的:

$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
Run Code Online (Sandbox Code Playgroud)

count.txt是一个简单的纯文本文件,存储计数器信息。您也可以将其保存在数据库表中downloadable_filename.ext