我在客户端的扩展名为 .gz 的文件夹中遇到问题,其中包含 xml 文件。我必须将文件夹下载到本地目录,然后我需要提取文件夹。
我能够将 .gz 文件夹下载到本地,但无法提取该文件夹。
我尝试使用
ZipArchive::extractto($targetfolder);
但它不接受.gz。
当我搜索堆栈溢出时,我只找到了 .gz 文件的答案,而不是 .gz 文件夹的答案。
我在客户端的扩展名为 .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
格式文件(zip
并且gz
不一样)。你可能需要使用Zlib来解压你的gz
文件,如果它是一个tar.gz
ortgz
文件,你还需要一些东西来解压文件。