[英]How to create a (configurable) number of temporary download links
我創建的下載鏈接只能運行10次。因此我有2個選項。
我猜第二種選擇使用較少的資源來不調用數據庫。現在找到文件名的簡單方法是什么例如:
我所有的文件名都是唯一的,例如sadkjsah78876djhgsadj.jpg 。因此,當我更新計數時,它將像
sadkjsah78876djhgsadj-1.jpg
(or)
sadkjsah78876djhgsadj-8.jpg
因此,如何在目錄中基於sadkjsah78876djhgsadj查找文件名。我正在考慮循環。但是當我將下載限制設置為100時,我認為這不是最好的方法。
最好的選擇是將.htaccess
與mod_rewite
一起使用,以mod_rewite
特定目錄的調用重寫為PHP文件。 例如,對/downloads/FILEHASH.jpg
任何調用都將改寫為/download.php?file=FILEHASH
然后download.php
將檢查FILEHASH
是否與FILEHASH
中的一行匹配,並且dl計數在x
,如果是,它將增加dl計數,將響應代碼設置為200
,內容類型為image/jpeg
並且釋放圖像數據(存儲在文件系統中或從數據庫的BLOB中釋放)。
如果未找到或者dl計數超過x
,則會將響應代碼設置為404
(或者,如果您願意,則更合適),或者不返回任何內容,或者返回有用的消息。 根據文件的數量,此時您可能還應該從數據庫中刪除該行,並從文件系統中取消該文件的鏈接。
如果使用MVC框架,這種事情真的很簡單。
如果您要提供的不僅僅是圖像,請確保在添加了上傳的MIME類型后,將其保存在數據庫中,並在下載時用作內容類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.