2012-11-21 76 views
0

我需要限制人们下载pdf的次数(至500)。理想情况下,它会将点击次数记录到500次,然后删除链接。我刚想到,我还需要阻止每个人点击多次。基本上我被要求允许前500人下载文件然后结束。 PHP或JavaScript会者优先(其在WordPress站点)限制链接被点击的次数

问候

丰富

回答

5

你不想限制的时间可以点击一个链接的数量,要限制数量特定链接返回PDF文件的次数。

换句话说,您的链接不应直接指向请求的资源(PDF),而是指向可断言文件未下载超过500次的PHP文件。

这里是an example如何将您的www目录以外的文件输出到浏览器。

+0

哦,谢谢夏洛克,它变得更加复杂。也许一个插件可能会更快我的速度? –

+0

http://www.totalbounty.com/1032/16-plugins-to-manage-documents-and-downloads-in-wordpress/ – Sherlock

0

链接到一个PHP脚本,将控制接入和服务PDF如果允许的话(例如与readfile()使用$_SESSION管理多少次单用户下载。 - 下载后更新值

使用数据库表或其他数据源来计算总下载量,以便当它达到500时,您可以拒绝对PDF的所有访问。

0

要扩展Sherlock的解决方案,您希望将PDF隐藏在PHP文件后面。我说隐藏,我的意思是把它放在一个无法直接访问的地方:考虑将它移出“www root”或使用.htaccess来防止直接访问文件年。如果文档是可以猜测和公开可用的,大多数高级用户将会知道如何访问您的PDF。

你的PHP应该简单地做到以下几点:

  • 检查文件是否被下载少于500倍或用户的IP有“解锁访问”的文件(你可能要允许一个“窗口“在这期间用户可以再次下载文件 - 有些人会文件,当他们真的想要save它,并不知道如何从他们的读卡器保存到磁盘) - 否则显示错误
  • 存储IP该文件的用户地址
  • 发送适当的h EADER文件类型:header('Content-type: application/pdf');
  • 发送文件名:header('Content-Disposition: attachment; filename="the document.pdf"');
  • 发送文件内容:readfile($pathToPDF);