天天看點

302重定向 php,php – 使用302重定向的Content-Disposition

你要做的是不建議檢查這個問題;

Header Location + Content Disposition

Content-Disposition Location标頭

但你可以做到,為了使它工作,你必須在發送之前緩沖你的整個響應.您可以使用輸出緩沖來完成此操作

否則,浏覽器可能會在下載下傳檔案之前解釋位置标頭.這兩種方式都很粗略,是以你不應該這樣做.

請注意,使用内容處理強制“另存為”:附件;将確定用戶端不會去任何地方/導航,是以下面的方法本身應該沒問題.

在php中流式傳輸檔案

// To use header() with 'content-type', why don't you use mime_content_type() function rather than checking the type on the basis of extension?

// Example code:

$file="test.docx";

header("Pragma: public");

header('Content-disposition: attachment; filename='.$file);

header("Content-type: ".mime_content_type($file));

header('Content-Encoding: identity');

ob_clean();

flush();

readfile($file);

?>

// Use $file to map to whichever type of file.

// Note: the mime types should already be defined in apache settings

請注意,原始答案使用的是Content-Transfer-Encoding,它實際上并不存在于HTTP中.該消息來源下面的評論解釋了它:http://www.php.net/manual/en/function.header.php#107044