我正在使用ZipArchive
库将内容下载为存档。
问题是归档文件没有得到给定的全名,它在第一个空格结束。例如:如果我将文件名称为" 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
答案 0 :(得分:1)
在下载文件之前将内容类型设置为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 ."\"");
请注意,filename
被double quotes
包围,每RFC 2231。这允许在文件名中使用扩展字符(即国际字符)。