Как сжать файл, скажем, xxx.xml размером 6 МБ в xxx.xml.gz, используя программу php

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);
?>

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

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]