我正在使用一个相当简单的脚本来打开和解析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);
Run Code Online (Sandbox Code Playgroud)
压缩文件会做什么?
如果您的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!';
}
Run Code Online (Sandbox Code Playgroud)