gzip总是需要扩展吗?

时间:2012-03-01 09:18:13

标签: php file compression gzip

我正在根据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是否总是需要扩展名?

1 个答案:

答案 0 :(得分:1)

是的,除非你的编码器写了gzencode()没有的FNAME标题。

解包时,如果FNAME标头不存在,则解压缩应用程序默认从源文件中减去.gz扩展名以命名目标文件,在这种情况下导致裸filename