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