我正在根据this site压缩文件:
$file_to_compress = $dest;
//$gz_file_to_produce = $dest . ".gz";
$gz_file_to_produce = substr($dest, 0, -3) . ".gz";
$data = implode("", file($file_to_compress));
$gzdata = gzencode($data, 9);
$fp = fopen($gz_file_to_produce, "w");
fwrite($fp, $gzdata);
fclose($fp);
如果我使用$gz_file_to_produce = $dest . ".gz";
,我会收到一个filename.db.gz
个文件,其中包含filename.db
。
如果我使用$gz_file_to_produce = substr($dest, 0, -3) . ".gz";
,我会收到filename.gz
个文件。但是,如果我打开它,文件filename
没有扩展名(缺少.db)。
gzip是否总是需要扩展名?
答案 0 :(得分:1)
是的,除非你的编码器写了gzencode()
没有的FNAME标题。
解包时,如果FNAME标头不存在,则解压缩应用程序默认从源文件中减去.gz
扩展名以命名目标文件,在这种情况下导致裸filename