Я создаю файл xml на основе информации из моей базы данных (формат xmltv). Эти xml-файлы могут быть довольно большими - обычно 25-70 МБ. Теперь я создаю файл xml на лету следующим образом:
$xmlWriter = new XMLWriter();
$xmlWriter->openURI('php://output');
и очистить цикл, чтобы предотвратить переполнение памяти. Я также устанавливаю заголовки для загрузки содержимого:
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $config->filename . '.xml"');
Я хотел бы иметь возможность заархивировать/сжать xml из-за размера. Возможно ли это на лету? Раньше я использовал PHPZip, который хорошо работает с файлами, но я не знаю, могу ли я записать вывод xml непосредственно в zip?