我有一個使用readfile()下載大文件(1.3gb)的腳本。ModX Evo:snippet中的PHP readfile()?
如果我創建一個只帶有腳本的.php頁面,它可以正常工作,但是如果我將同一個腳本放在一個Snippet中並將其放在頁面上,則不會發生任何事情。
是ModX阻止下載的一些方法嗎?任何建議將非常感謝!
編輯代碼:
$file = $_SERVER['DOCUMENT_ROOT']."/movie.mov";
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file));
ob_clean();
flush();
readfile($file);
exit;
};
不應在'header()'調用之前調用'ob_clean();'**嗎? – Niloct
@Niloct也許,但上面是PHP文檔中的示例 – MeltingDog
Modx片段不能[輸出](http://rtfm.modx.com/display/revolution20/Snippets#Snippets-SimpleExample)信息,只有'return數據。 'flush()'可能是罪魁禍首。 – Niloct