如何解压缩带有扩展名gzip的文件夹


how to uncompress a folder with with extension gzip

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

我可以将.gz文件夹下载到本地,但无法提取该文件夹。

我试着用

ZipArchive::extractto($targetfolder);

但它不接受.gz.

当我搜索堆栈溢出时,我只找到.gz文件的答案,而没有找到.gz文件夹的答案。

尝试使用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);
}

ZipArchive的文档中没有任何关于能够打开gz格式文件的内容(zipgz不相同)。您可能需要使用Zlib来解压缩gz文件,如果它是tar.gztgz文件,您还需要一些东西来解压缩该文件。

这个问题和这个新问题讨论了如何在PHP中提取tar.gz文件。