PHP 从 Zip 存档中读取

Posted

技术标签:

【中文标题】PHP 从 Zip 存档中读取【英文标题】:PHP Read from Zip Archive 【发布时间】:2013-03-25 03:39:40 【问题描述】:

我在 .gz ( tar 然后 gz ) 存档 (~ 700MB) 中有一些序列化数据,我想在 php 中读取这些数据而无需解压缩并从中提取一些字段。

已经尝试过 PHP : Zip 类,但是它不断给出这个错误“找不到 EOCD 签名”。我启用了 zip 扩展。

Zip => 已启用 扩展版本 => $Id: php_zip.c,v 1.95.2.6 2007/05/19 22:35:49 pajoye Exp $ 压缩版本 => 1.8.10 Libzip 版本 => 0.7.1

编辑:存档未损坏。解压后效果很好

【问题讨论】:

您不能使用 Zip 处理 Linux gzip 档案。 perl 中也有同样的错误。也尝试过 Perl-Compress-Zlib、Perl-Zip-Archive。 "您可以使用 Archive::Zip 解压缩 PKZIP/WinZip/etc/ 档案(这就是它的用途),只要任何压缩成员都使用 Deflate 压缩进行压缩。" 【参考方案1】:

你试过 gzopen 吗?

http://www.php.net/manual/en/function.gzopen.php

忽略这一行,因为 30 个字符的限制,我放了它。

【讨论】:

这是因为任何 那么,30字以内就没有答案了吗? +1 表示有效答案,但是是的,答案可以有一些功能描述来填充 30 个字符的限制而不是评论。

以上是关于PHP 从 Zip 存档中读取的主要内容,如果未能解决你的问题,请参考以下文章

熊猫。如何从 ZIP 存档中读取 Excel 文件

使用 Haskell 的 zip-conduit 从 zip 存档中的文件中读取行

强制从 php 打开和读取 zip 文件

从文件模式为读取的文件流创建存档 .zip

使用 python 读取多个 zip 存档注释

无法打开受密码保护的 zip 存档