我試圖做一個簡單的腳本,做了兩兩件事:通過readfile()保護/提供文件,強制下載?
- 供應了一個文件,並隱藏的是目的地
- 擁有下載計數器
現在,我這樣做在wordpress環境中,但這個問題並不完全與wordpress相關,所以我想我會在這裏問。
基本上,我現在設置的方式是,我有一個鏈接,當你點擊它時,設置一個$_['GET']
,然後檢查是否設置。如果已設置,則會提供下載文件。
鏈接:<a href="http://localhost:8888/fresh/?dl_id=01">Click here!</a>
「
的$_['GET']
代碼:http://pastebin.com/93nD43gA
有一個位代碼WordPress的行話,但基本上它是檢查的下載次數user_meta,如果它是> 0,serveFile()
被稱爲。
我在這裏遇到的主要問題是,如果我點擊鏈接,readfile()
將實際文件內容載入窗口(亂碼文本)。如果我將target=_blank
添加到<a>
它將打開一個新的瀏覽器窗口並將內容加載到窗口中。
這種方法在我作爲獨立的php文件進行時似乎工作得很好。我的主要問題是我需要保留wordpress空間,以便可以調用與之相關的函數等。
我已經從自我頁面上使用$_['GET']
嘗試,具有自定義模板(在上面的引擎收錄的代碼)另一頁,並作爲一個獨立的PHP文件。前兩個選項都將文件加載到窗口中。第三個不保留WordPress的功能,即使我包括blog-header.php
。
任何人都可以指向我如何讓文件強制下載並不加載INTO窗口的正確方向?
感謝您的快速回復。我想知道這是否是問題。我會看看並報告。 – tr3online
我現在正在服務一個rar。它與八位字節流(也嘗試x-rar壓縮)工作正常與獨立的php文件。但是,如果我嘗試在Wordpress中做同樣的事情,它會輸出到網站的正文中。我無法鏈接到Wordpress中的另一個頁面,同一頁面或獨立的php文件,並獲取該文件以強制執行dl。我閱讀也許設置一些.htaccess的東西可能會有所幫助。我很茫然。 – tr3online
@ tr3online查看帶有'readfile'註釋的頁面輸出。有沒有輸出?也看看發送的標題。 –