令人惊讶的是,找到这个问题的简单、简洁的答案是多么困难:
或者如果您不需要实时数据,您可以解析日志文件。
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 请求都是另一次下载(除非访问者由于某种原因中途停止下载)。
只需使用 cPanel 指标即可。那里有很多信息。