2008年6月13日 星期五

PHP 下載檔案時, 無法直接開啟文件的解法方法

在php網站程式寫作上, 需使用下載檔案,

一般都是用 header 來下載檔案, 如下所示

header("Content-length: ".$row->file_size);
header("Content-Disposition: attachment; filename=".$filename);
print($row->filedata);


但通常必需先儲存後再開啟,
不然會出現錯誤, 因需無法直接開啟文件

若要直接開啟文件

需加幾個語法, 如下所示

ob_start();

header("Cache-Control: cache, must-revalidate");

header("Content-length: ".$row->file_size);
header("Content-Disposition: attachment; filename=".$filename);
print($row->filedata);

ob_flush();

沒有留言: