今天实现一个功能,就是把抓取的.gz文件解压缩,结果发现 ZipArchive 这个方法不能解压缩.gz文件 于是就查找资料 换个方法 下面就是解决方案。(超大文件不建议使用此方法)
$filepath = 'a/text.html.gz';//文件路径
// 解压缩文件
public static function decompressionGzFile($filename)
{
// 一次读取100kb //注意:设置的越高 可能越占内存(本人猜测 未实验)
$buffer_size = 102400;
$out_file_name = str_replace('.gz', '', $filename);
$file = gzopen($filename, 'rb');
$out_file = fopen($out_file_name, 'wb');
while(!gzeof($file)) {
fwrite($out_file, gzread($file, $buffer_size));
}
fclose($out_file);
gzclose($file);
}