Gzip всегда нуждается в расширении? - PullRequest
0 голосов
/ 01 марта 2012

Я сжимаю файл согласно этому сайту :

$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 Ответ

1 голос
/ 01 марта 2012

Да, если только ваш кодировщик не пишет заголовок FNAME, чего нет gzencode().

При распаковке, если заголовок FNAME отсутствует, приложение распаковки по умолчаниювычитает расширение .gz из исходного файла для присвоения имени целевому файлу, в результате чего в этом случае получается filename.

...