我在客户端的扩展名为.gz的文件夹中遇到问题,其中包含xml文件。我必须将文件夹下载到本地目录然后我需要提取文件夹。
我能够将.gz文件夹下载到本地,但我无法解压缩文件夹。
我尝试使用
ZipArchive::extractto($targetfolder);
但它不接受.gz。
当我搜索堆栈溢出时,我发现只有.gz文件的答案不是.gz文件夹。
答案 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
格式文件(zip
和gz
不相同) 。您可能需要使用Zlib解压缩gz
文件,如果它是tar.gz
或tgz
文件,您还需要一些内容来解压缩文件。
This question和this newer question讨论了如何在PHP中提取tar.gz
文件。