Я использую несложную функцию распаковки (как показано ниже) для своих файлов, поэтому мне не нужно разархивировать файлы вручную, прежде чем они будут обработаны дальше.
function uncompress($srcName, $dstName) {
$string = implode("", gzfile($srcName));
$fp = fopen($dstName, "w");
fwrite($fp, $string, strlen($string));
fclose($fp);
}
Проблема заключается в том, что если файл gzip большой (например, 50 МБ), распаковка занимает большое количество оперативной памяти для обработки.
Вопрос: могу ли я разобрать gzip файл в кусках и по-прежнему получить правильный результат? Или есть лучший другой способ справиться с проблемой извлечения больших файлов gzip (даже если это занимает несколько секунд)?