我正在爲樂隊製作網站,他們正在免費發放他們的EP,但他們想要它,所以用戶必須在下載之前輸入他們的電子郵件地址...這將如何在PHP中完成?防止下載媒體,除非用戶已填寫表格
3
A
回答
2
可以下載的應該放在web用戶無法觸及的範圍內,但在PHP腳本範圍內。然後,一旦用戶完成填寫表單,就可以通過使用「fopen」來強制下載文件內容。
更新(添加示例代碼):
假設該文件是「txt.txt」這可能是在您的腳本範圍。如果要存儲的電子郵件,你會打開它,閱讀,然後把內容調用頭並告訴它,它的附件(力下載)後
$done = true;
if($done == true){
$filename = "txt.txt";
$conn = fopen($filename,"r");
$contents = fread($conn, filesize($filename));
fclose($conn);
header('Content-type: text/plain');
header('Content-Disposition: attachment; filename="downloaded.txt"');
echo $contents;
}
0
不知何故,後來乾脆設置一個$_SESSION
值,當他們提交他們的電子郵件,並在編寫頁面時,如果$_SESSION
值的一部分已設置,則提供一個鏈接到媒體。
啓動一個會話&設定值:
session_start();
$_SERVER['hasEmail']=true;
,並在頁面:
session_start();
if ($_SERVER['hasEmail']) {
//Provide link
}
然後,您可以也有媒體鏈接帶你到使用fopen()
或PHP腳本類似於從您的文件系統上的另一個位置獲取文件,該文件系統不在用戶的範圍之內,例如在.htaccess之下阻止一個文件系統,並且它只會提供介質值爲$_SESSION
的值。
相關問題
- 1. 防止自動填寫表格數據
- 2. 防止從用戶下載
- 3. 停止提交表格,除非填寫所有字段
- 4. 防止從Magento中的媒體文件夾下載
- 5. 如何防止Web字體被非法下載和使用?
- 6. 防止媒體重播
- 7. 防止用戶下載或打開PowerPoint
- 8. 防止窗體加載,除非條件得到滿足
- 9. 防止下載?
- 10. 與媒體下載
- 11. 下載:刪除社交媒體鏈接?
- 12. 如何使用iTextSharp填寫已填寫的PDF表格
- 13. Java媒體API:java媒體API下載
- 14. 防止下載http內容主體
- 15. 用戶已經存在,請填寫表格
- 16. scrapy防止下載文件,如果已經下載
- 17. 手寫筆:防止媒體標籤解釋字符串
- 18. 防止用戶移動到下一個表格
- 19. VBA用戶表格填寫整列
- 20. 防止媒體掃描器掃描JPG下載Android上的DownloadManager? (開發人員)
- 21. 防止移動/ javascript媒體上的視頻下載查詢寬度
- 22. 用R填寫表格後下載文件
- 23. 清除一個字段當用戶開始填寫表格
- 24. Android如何停止/終止/取消媒體上傳或下載
- 25. 紅寶石軌道不能填寫表格,除非是真的
- 26. 非阻止下載
- 27. 如何防止多個帳戶與社交媒體登錄?
- 28. Sitecore媒體項目下載
- 29. 部隊下載媒體
- 30. Javascript - 下載所有媒體
如何使用fopen下載文件? –
我已經用代碼更新了我的答案。文件名「download.txt」將顯示給用戶的文件名稱。 – Arfeen