How to compress a file say xxx.xml of 6MB into xxx.xml.gz using php program.
Как создать файл .gz с помощью PHP?
Это решение не работает для меня. он создает один файл .gz, который нельзя открыть. это должно быть не просто .gz это должно быть xxx.xml.gz
$source='xxx.xml';
function gzCompressFile($source, $level = 9){
$dest = $source . '.gz';
$mode = 'wb' . $level;
$error = false;
if ($fp_out = gzopen($dest, $mode)) {
if ($fp_in = fopen($source,'rb')) {
while (!feof($fp_in))
gzwrite($fp_out, fread($fp_in, 1024 * 512));
fclose($fp_in);
} else {
$error = true;
}
gzclose($fp_out);
} else {
$error = true;
}
if ($error)
return false;
else
return $dest;
}
/////////////////////////////////////////////////////////////compresion of output file ends here
//call gzCompressFile function starts
gzCompressFile();
// call gzCompressFile function ends
Другое решение ниже только для строки, а не для файла.
<?php
$string = 'Some information to compress';
$gz = gzopen('somefile.gz','w9');
gzwrite($gz, $string);
gzclose($gz);
?>
Выше один предназначен только для сжатия строк, а не для сжатия файлов
Пожалуйста, помогите мне исправить это.
Задача ещё не решена.
Других решений пока нет …