从服务器下载zip存档时出错

时间:2016-10-21 09:15:13

标签: php nginx

php ZipArchive无法打开从服务器下载的zip文件。 我有一个zip文件,我用winrar创建并上传到我的服务器,文件位置在这里:http://myserver.com/uploads/test.zip它是一个有效的zip文件 这是我的代码

当我运行此代码时,我得到的是

  

错误:不是zip存档。

它会打开文件并将其解压缩,但即使删除文件,也会抱怨该文件已存在。

我访问http://myserver.com/update/test.zip时收到的文件已损坏且我不明白为什么,我上面粘贴的相同代码仅在一周前工作。

1 个答案:

答案 0 :(得分:1)

问题实际上是.zip文件。我下载了它,我无法用WinZip打开文件。请尝试制作新存档并在服务器上重新上传。

代码看起来没问题所以我认为只是文件就是问题。

更新#1:

.zip文件现在正确无误。在下载并解压缩新文件之前,请尝试删除这些文件。你可以使用unlink(" uploads / update.zip")也许你还需要先清除uploads / temp目录。

更新#2:

现在下载对我来说很有用。尝试添加此标题:

header("Content-Transfer-Encoding: Binary");

提取后也不要忘记关闭ZipArchive:

$zip->close();