Ziparchive在PHP中无法打开zip文件

4
我正在尝试使用PHP的ZipArchive类解压文件,但当我尝试时:
$file = '/path/to/zip/file.zip';
$zip = new ZipArchive();
$res = $zip->open($file, ZipArchive::CHECKCONS);

结果是ZipArchive::ER_INCONS(Zip档案不一致)。
现在,我已经能够在我的桌面上(Windows 7)打开zip文件,以及在运行PHP应用程序的同一台机器上使用命令行工具unzip。我甚至可以使用exec('unzip', $file);在PHP中解压缩文件。
我已检查了缓存文件夹和zip文件的权限,并且Web服务器都有读写权限。我能够使用PHP的ZipArchive类打开同一目录中的其他zip文件。
我不确定这是否相关,但我尝试打开的zip文件包含两个zip文件。
你有任何想法为什么会发生这种情况吗?

可能是使用PHP解压文件的重复问题。 - Cyrus
你能上传你试图解压缩的文件吗? - Michael Ryan Soileau
很遗憾,由于其中包含敏感信息,我无法这样做。 - jdubu423
1个回答

5
原来这个文件被上传为ASCII格式,我改成了二进制上传。

你真是救星!我花了多少时间来更改解压脚本,而实际上是FTP文件上传的问题。你是怎么发现的? - Rick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接