在ie8中使用php下载zip文件

时间:2012-10-25 18:43:46

标签: php zip

我能够在“chrome”和“FF”浏览器中使用PHP代码压缩文件夹并下载zip文件。但是当我在IE8中尝试它时,它将下载的zip文件显示为未知类型的文件。我将不得不专门用rar应用程序打开它,但我希望将此zip文件直接下载为IE8中的.zip文件,就像在其他浏览器中一样。以下是我用它的标题:

header("Pragma: public");
header("Pragma: no-cache");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-type: application/zip");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($archive_file_name));
header("Content-Disposition: attachment; filename=$archive_file_name");
readfile("$archive_file_name");
unlink($archive_file_name);

有人可以告诉我需要更正代码的地方吗?感谢

2 个答案:

答案 0 :(得分:0)

header("Content-Disposition: attachment; filename=$archive_file_name");

确保$ archive_file_name只是一个名称而不是一个完整的路径,它也需要进行url编码,并且最后应该有一个“.zip”扩展名。

header("Content-type: application/zip");

为什么“类型”中的t较低?

答案 1 :(得分:0)

你正在覆盖一些标题,一些仅用于IE,一些用于其他浏览器,IE更挑剔。

请看这个链接:

http://www.boutell.com/newfaq/creating/forcedownload.html