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