如何使用扩展名gzip解压缩文件夹

时间:2012-09-05 14:47:16

标签: php

我在客户端的扩展名为.gz的文件夹中遇到问题,其中包含xml文件。我必须将文件夹下载到本地目录然后我需要提取文件夹。

我能够将.gz文件夹下载到本地,但我无法解压缩文件夹。

我尝试使用

ZipArchive::extractto($targetfolder);

但它不接受.gz。

当我搜索堆栈溢出时,我发现只有.gz文件的答案不是.gz文件夹。

2 个答案:

答案 0 :(得分:1)

尝试使用PHP的内置gzfile()函数。

这将以4kB块解压缩文件:

function uncompress($srcName, $dstName) {
    $sfp = gzopen($srcName, "rb");
    $fp = fopen($dstName, "w");

    while ($string = gzread($sfp, 4096)) {
        fwrite($fp, $string, strlen($string));
    }
    gzclose($sfp);
    fclose($fp);
}

答案 1 :(得分:0)

documentation for ZipArchive没有说明能否打开gz格式文件(zipgz 相同) 。您可能需要使用Zlib解压缩gz文件,如果它是tar.gztgz文件,您还需要一些内容来解压缩文件。

This questionthis newer question讨论了如何在PHP中提取tar.gz文件。