php - 使用firefox下载时文件的文件名

时间:2013-08-08 09:53:49

标签: php download

我看到this教程制作下载文件,但我遇到了问题
这是我的例子

$file_url = "D:/my file name.doc"

header('Content-Type: text/json; charset=UTF-8;');  
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file_url)."");
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($file_url));
ob_clean();
flush();
readfile($file_url);

ie或chrome中的一切都很好。但是当我使用firefox下载文件时。文件下载my是文件名吗?如何解决这个问题

3 个答案:

答案 0 :(得分:2)

header('Content-Disposition: attachment; filename="' .basename($file_url).'"');

答案 1 :(得分:1)

你应该引用文件名。

header('Content-Disposition: attachment; filename="' . basename($file_url) . '"');
编辑:这是选择的答案,只是错字。现在我修好了。

答案 2 :(得分:1)

首先,您在第一行末尾缺少;。 我认为问题在于带有空格的文件名。 尝试使用readfile(urlencode($file_url));代替readfile($file_url);