【问题标题】:error while downloading zip archive from server从服务器下载 zip 存档时出错
【发布时间】:2016-10-21 09:15:12
【问题描述】:

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

当我运行这段代码时,我得到的只是

错误:不是 zip 存档。

它打开文件并提取它,但即使我删除文件,它也会抱怨文件已经存在。

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

【问题讨论】:

    标签: php nginx


    【解决方案1】:

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

    代码看起来没问题,所以我认为问题在于文件。

    更新 #1:

    .zip 文件现在是正确的。在下载和解压缩新文件之前尝试删除文件。您可以使用 unlink("uploads/update.zip") 可能还需要先清除 uploads/temp 目录。

    更新 #2:

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

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

    解压后不要忘记关闭ZipArchive:

    $zip->close();
    

    【讨论】:

    • 我自己安装了winzip来测试我从code4fun下载的文件,winzip版本20.5(12118)打开它,你有什么版本的winzip?
    • @Maxlight 我更新了我的答案。我也在使用 WinZip 20.5 Pro 版。
    猜你喜欢
    • 2023-03-31
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    • 2019-12-12
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多