在 Firefox 中下载为存档未获得完整文件名

download as archive in firefox not getting full file name

我正在使用 ZipArchive 库下载内容作为存档。 问题是存档文件没有获得给定的全名,它首先以 space 结尾。例如:如果我将文件名命名为 "new file.zip"

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

在谷歌搜索时,我发现只需输入引用的文件名即可解决问题。所以我尝试了这个:

header("Content-disposition: attachment; filename = 'new file.zip'");

但没有任何变化,下载文件名更改为"new.zip",我必须得到的是"new file.zip"

只有 firefox 有问题

在下载文件之前将内容类型设置为 application/zip, application/octet-stream,并将 filename 括在双引号中。

// We'll be outputting a ZIP
header('Content-Type: application/zip, application/octet-stream');

// It will be called new file.zip
header('Content-Disposition: attachment; filename="new file.zip"');

如果你传递变量文件名,那可能有空格:

header("Content-Disposition", "attachment; filename=\"" . $fileName ."\"");

请注意,根据 RFC 2231filenamedouble quotes 包围。这允许在文件名中使用扩展字符(即国际字符)。