我的网站上有一些文件可供用户下载。我使用 PHP header() 来读取文件并向用户显示下载对话框。
我必须增加下载次数。所以我需要检测文件是否真的被下载了。
可能是一种方法是知道用户是否单击了保存或取消按钮或在服务器上使用 PHP 的某种方法。
你能帮我解决这个问题吗?如何检查是否单击了保存按钮?
您只能检测初始请求。您无法检测文件是否成功下载。
基于此,您需要在生成下载时实现计数逻辑;在您进行 header() 调用的类似位置。
编辑:您可以跟踪用户的会话/远程 ip,并在特定时间范围内忽略对文件的后续请求:
You can not detect whether the file successfully downloaded or not
根据您收到的答案...因为如果用户关闭了您的网站怎么办?那么您不再附加用户浏览器活动。因此无法跟踪文件是否已下载。
是的,您可以使用会话添加与访问计数器相同的计数器,因为您在开始学习 php 中的会话时已经在网站上看到了许多示例。
@Ben Rowe 的回答总结了这一点。
如果您担心带宽限制,可以使用像Amazon 的 Cloudfront这样的 CDN。第一年也是免费的