【发布时间】:2017-06-14 22:57:45
【问题描述】:
我有一个 php 网站正在尝试使用以下代码跟踪我的下载被点击的次数:
//update download count
update_attachment_counter($attachment);
// We'll be outputting a PDF
header ( 'Content-Type: application/pdf' );
header ( 'Content-Disposition: inline; filename="fileName.pdf"');
header('Content-Length: ' . filesize($attachment));
readfile ( $attachment );
die ();
我看到我的计数器每次下载都会上升多次。我的附件大小在 2 到 30MB 之间。是否因为每次下载我看到多个请求?如何只跟踪每次下载一次?
【问题讨论】:
-
可能由于网络故障或update_attachment_counter(您未发布的代码)中存在错误,用户必须重新启动下载
-
update_attachment_counter 对数据库值执行 ++。如果我在它之后立即死去,没有什么令人兴奋的并且效果很好。我不想发布我的架构等 :)
-
如何将 update_attachment_counter 更改为日志日期、ip、文件,这样调试起来会更容易。仍然很容易对计数进行查询
-
我知道计数器应该是什么,因为我是现在唯一可以点击它的人,所以我不必担心多人同时尝试下载东西。您是否认为浏览器可能由于超时或其他原因重新启动下载?
-
您是否使用了任何可能进行多段下载的浏览器扩展程序?
标签: php