0
我使用這個腳本:一次性下載鏈接和大文件
http://www.webvamp.co.uk/blog/coding/creating-one-time-download-links/
,以允許用戶下載文件(一次)。一切工作正常與小文件。現在我試圖做同樣的事情,但更大的文件1.2 GB。而不是強迫用戶下載文件,腳本顯示文件的相關補丁!有沒有辦法修改腳本或其服務器配置的錯誤?
感謝您的幫助!
我使用這個腳本:一次性下載鏈接和大文件
http://www.webvamp.co.uk/blog/coding/creating-one-time-download-links/
,以允許用戶下載文件(一次)。一切工作正常與小文件。現在我試圖做同樣的事情,但更大的文件1.2 GB。而不是強迫用戶下載文件,腳本顯示文件的相關補丁!有沒有辦法修改腳本或其服務器配置的錯誤?
感謝您的幫助!
尋找代碼,我認爲它在大型文件由於內存限制失敗。腳本在發送之前通過file_get_contents()
在內存中讀取整個文件。我懷疑,> 1Gb文件將導致內存問題。 嘗試在腳本的download.php替換以下行:
//get the file content
$strFile = file_get_contents($strDownload);
//set the headers to force a download
header("Content-type: application/force-download");
header("Content-Disposition: attachment;
filename=\"".str_replace(" ", "_", $arrCheck['file'])."\"");
//echo the file to the user
echo $strFile;
到:
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($strDownload));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($strDownload));
ob_clean();
flush();
readfile($strDownload);
這可能幫助。從手動
注:ReadFile的()不會出現內存問題,甚至發送大文件時,對自己
謝謝,但沒有幫助...小文件下載罰款,但在大的情況下,顯示文件未找到 – user3249713