我正在使用一个相当简单的脚本来打开和解析几个 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);
压缩文件会做同样的事情吗?
最佳答案
如果您有 PHP 5 >= 5.2.0,PECL zip >= 1.5.0,那么您可以使用 ZipArchive 库:
$zip = new ZipArchive;
if ($zip->open('source.zip') === TRUE)
{
for($i = 0; $i < $zip->numFiles; $i++)
{
$fp = $zip->getStream($zip->getNameIndex($i));
if(!$fp) exit("failed\n");
while (!feof($fp)) {
$contents = fread($fp, 8192);
// do some stuff
}
fclose($fp);
}
}
else
{
echo 'Error reading zip-archive!';
}
关于php - 需要 PHP 脚本来解压和循环压缩文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2600105/