我需要創建一個自動啓動下載文件的PHP頁面(我不想公開下載鏈接)。我已經在網上嘗試了幾個例子,但所有的例子最終都會以不正確的內容類型在瀏覽器中打開文件。 例如:無法用PHP強制下載文件
<?php
// We'll be outputting a ZIP
header("Content-type: application/zip");
// Use Content-Disposition to force a save dialog.
// The file will be called "downloaded.zip"
header("Content-Disposition: attachment; filename=downloaded.zip");
readfile('downloaded.zip');
?>
當我執行這個頁面,瀏覽器的輸出是: 嘗試這個例子中的所有可能的變型後,我的想法是,這個問題是我的託管環境。我應該檢查哪個變量,並可能要求啓用我的提供程序?
謝謝!
嘗試添加更多'header()'。 'header(「Content-Transfer-Encoding:Binary」);'和'header(「Content-Length:」.filesize($ file));' –
哇,我一直在使用PHP很長一段時間,從來沒有聽說過'readfile()'函數。我一直使用'fopen('php:// output','w')'來完成下載。 :)你有沒有嘗試過使用無緩存頭文件? 「Pragma:no-cache」,「Expires:0」也許? – Cypher
你正在使用哪個Web服務器? – Cypher