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