9

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

  1. 我的网站上有一个文件 foo.zip
  2. 我可以做些什么来找出有多少人访问了这个文件?
  3. 如有必要,我可以使用 Tomcat 调用
4

4 回答 4

12

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

grep foo.zip /path/to/access.log | grep 200 | wc -l

回复评论:

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

于 2008-10-01T15:15:47.757 回答
10

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

于 2008-10-01T15:13:15.327 回答
4

答案是“最简单的方法可能不是直接链接到文件,而是链接到增加计数器然后转发到相关文件的脚本。”

这是额外的:

$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

于 2012-09-13T11:44:53.547 回答
0

使用日志——文件的每个 GET 请求都是另一个下载(除非访问者由于某种原因在中途停止了下载)。

于 2008-10-01T15:13:49.930 回答