我有一个名为retrieve.php的PHP脚本,它将上传的文件从目录压缩到.zip文件中,然后将它们输出到流中,这样就可以下载所述文件了。
该脚本适用于除Firefox以外的所有浏览器。 在网上搜索了很长一段时间并遇到这个问题:PHP download script returns download-file.php instead of filename并且仍然遇到同样的问题,我很难过,也不知道出了什么问题。
这是用于下载文件的代码:
if ($zippedElements >= 1) {
// die($zipFilename);
$zipFilename = "download-".time().".zip";
// Send zip to recipient
header("Content-Dispositon: attachment; filename=\"$zipFilename\"");
header("Content-Length: ".filesize($zipFileName));
header("Content-Type: application/zip");
header("Content-Transfer-Encoding: binary");
header("Connection: Keep-Alive");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: public");
header("Accept-Ranges: bytes");
readfile($zipFileName);
} else return;
我已尝试将标头设置为不同的值,例如content-type:application / force-download,在文件名后添加星号(*)等,但都无济于事。
Firefox中的结果如下:
非常感谢任何有关此事的帮助。
答案 0 :(得分:1)
变量名称$ zipFilename中存在不一致 - N 有时会大写。
query