我想在 PHP 中用 gzip 压缩一些文件。
当输出文件保存到文件中时,它会正常工作。打开文件时,它看起来像这样
但是当输出作为字符串返回时不是这样。然后打开的文件看起来像这样。为什么tar文件显示在gzip文件中?
public function compress(){
if($this->stream){
return gzencode($this->data, 9);
}
else{
$gz = gzopen('test.tar.gz', 'w9');
gzwrite($gz, $this->data);
gzclose($gz);
}
}
与字符串输出一起发送到浏览器的标头
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.$filename.'"');