-2

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

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

我尝试使用

ZipArchive::extractto($targetfolder);

但它不接受.gz。

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

4

2 回答 2

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);
}
于 2012-09-05T14:56:25.217 回答
0

ZipArchive的文档没有说明能够打开gz格式文件(zip并且gz一样)。你可能需要使用Zlib来解压你的gz文件,如果它是一个tar.gzortgz文件,你还需要一些东西来解压文件。

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

于 2012-09-05T14:54:27.213 回答