我怎樣才能下載文件(文本/ PDF /等)使用PHP與彈出,以便用戶選擇保存或打開一個頭的任何文件?該文件存儲在(管理/)下載使用PHP
我用這一點,但它不會工作。下載的文件是空的! 這裏是我的代碼:
//get the filename
$filename = $_GET['filename'];
//open the file based in filename and path
$fp = fopen('admin/'.$filename, 'w') or die("can't open file");
header("Content-type: text/pdf");
header("Content-Disposition: attachment; filename=file.txt");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
//echo file_get_contents($filename);
exit;
此外,OP應使用['readfile'](http://php.net/readfile),這是更有效。 – deceze 2010-09-14 03:44:38
我刪除了評論,它仍然是空的。其實我一直在使用file_get_contents($ filename);已經有一段時間了,它工作得很好,這就是爲什麼我猜這部分代碼沒有問題。 – anonymous123 2010-09-14 03:49:59
'file_get_contents()'會導致你的腳本死掉,如果被加載的文件大於PHP的'memory_limit'設置(它試圖將整個文件一次性寫入內存)。 'readfile()'通過以小塊順序內部讀取文件並單獨發送它來避免這種情況。 – 2010-09-14 04:00:59