我需要限制人们下载pdf的次数(至500)。理想情况下,它会将点击次数计算为500,然后删除链接。我突然意识到我还需要阻止每个人多次点击。基本上我被要求允许前500人下载文件,然后结束它。 PHP或javascript将是首选(它在wordpress网站上)
问候
富
答案 0 :(得分:5)
您不希望限制点击链接的次数,您希望限制特定链接返回PDF文件的次数。
换句话说,您的链接不应直接指向所请求的资源(PDF),而应指向可以断言文件未下载超过500次的PHP文件。
以下是an example如何将www目录以外的文件输出到浏览器。
答案 1 :(得分:0)
链接到PHP脚本,该脚本将控制访问并在允许的情况下提供PDF(例如readfile()
。使用$_SESSION
管理单个用户下载的次数 - 更新后的值下载。
使用数据库表或其他数据源来计算总下载量,以便在达到500时,您可以拒绝对PDF的所有访问。
答案 2 :(得分:0)
要扩展Sherlock的解决方案,您希望将PDF隐藏在PHP文件后面。当我说隐藏时,我的意思是将它放在一个无法直接访问的地方:考虑将其移出“www root”或使用.htaccess来防止直接访问文件。如果文档可以猜测并且公开可用,大多数高级用户都会知道如何访问PDF。
您的PHP应该只执行以下操作:
open
时,并且不知道如何从阅读器保存到磁盘上 - 否则会显示错误save
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="the document.pdf"');