考虑一下:
$text = "hello";
$text_compressed = gzcompress($text, 6);
$success = file_put_contents('file.gz', $text_compressed);
当我尝试打开file.gz时,我收到错误。如何在终端下打开file.gz而不调用php? (使用gzuncompress工作正常!)
我无法重新编码我所做的每一个文件,因为我现在已经用这种方式编码了几乎十亿个文件!所以如果有解决方案......:)
答案 0 :(得分:3)
您需要改为使用gzencode()
。
幸运的是,修复很简单:只需编写一个脚本,逐个打开每个文件,使用gzuncompress()
解压缩该文件,然后使用gzencode()
将该文件写回而不是gzcompress()
,重复所有文件的过程。
或者(因为您说“不想重新编码文件”),您可以使用uncompress
从命令行打开现有文件(而不是gunzip
/ {{1 }})。
gzcompress
不 与gzip压缩相同,后者包含一些标头数据。有关gzip压缩的信息,请参阅gzencode()。
答案 1 :(得分:1)
如上所述,你没有真正的gzip压缩文件。要从终端打开文件,您需要uncompress实用程序。