2012-11-21 78 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);