需要 PHP 脚本来解压并循环遍历压缩文件
我正在使用一个相当简单的脚本来打开和解析几个 gzip 压缩的 xml 文件。我还需要对 ZIP 文件执行相同的基本操作。看起来应该很简单,但我无法在任何地方找到看起来等效的代码。
这是我已经在做的事情的简单版本:
$import_file = "source.gz";
$sfp = gzopen($import_file, "rb"); ///// OPEN GZIPPED data
while ($string = gzread($sfp, 4096)) { //Loop through the data
/// Parse Output And Do Stuff with $string
}
gzclose($sfp);
对于压缩文件,什么会做同样的事情?
I am using a fairly straight-forward script to open and parse several xml files that are gzipped. I also need to do the same basic operation with a ZIP file. It seems like it should be simple, but I haven't been able to find what looked like equivalent code anywhere.
Here is the simple version of what I am already doing:
$import_file = "source.gz";
$sfp = gzopen($import_file, "rb"); ///// OPEN GZIPPED data
while ($string = gzread($sfp, 4096)) { //Loop through the data
/// Parse Output And Do Stuff with $string
}
gzclose($sfp);
What would do the same thing for a zipped file?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您的 PHP 5 >= 5.2.0、PECL zip >= 1.5.0 那么您可以使用 ZipArchive 库:
If you have PHP 5 >= 5.2.0, PECL zip >= 1.5.0 then you may use the ZipArchive libraries:
有一种聪明的方法可以使用 ZipArchive 来完成此操作。您可以使用带有
ZipArchive::statIndex()
的for
循环来获取所需的所有信息。您可以通过索引 (ZipArchive::getFromIndex()
) 或名称 (ZipArchive::getFromName()
) 访问文件。例如:
There is a smart way to do it with ZipArchive. You can use a
for
loop withZipArchive::statIndex()
to get all the information you need. You can access the files by their index (ZipArchive::getFromIndex()
) or name (ZipArchive::getFromName()
).For example: