Я хотел бы сжать каталог с помощью 7-Zip, а затем загрузить его в веб-браузер.
Однако, вместо того, чтобы сжимать в файл, а затем, чтобы PHP передавал содержимое этого файла в браузер ... В идеале я бы хотел, чтобы 7-Zip записывал содержимое нового архива в стандартный вывод как архив создается ... Одновременно PHP очищает свой буфер и отправляет данные в браузер.
Видите ли, архив, который я создаю, довольно большой. С точки зрения пользователя, используя обычный метод, когда они нажимают «Загрузить», архив сначала создается и сохраняется в файл (это может занять ~ 10 минут), и только затем файл загружается PHP для загрузки. , То, что я пытаюсь сделать, это объединить шаги архивирования и вывода в один процесс.
Кто-нибудь имеет какие-либо материалы по этому вопросу?
Вот еще кто-то из SourceForge, который пытается сделать то же самое ...
http://sourceforge.net/projects/p7zip/forums/forum/383043/topic/3828566
=======
Спасибо за помощь. Я собираюсь закрыть эту ветку, так как недавно обнаружил, что отличная дискуссия по этой теме уже существует в StackOverflow. См:
ЛАМПА: Как создать .Zip больших файлов для пользователя на лету, без перегрузки диска / процессора
=======
Это последнее решение, с которым я столкнулся, и оно работает для меня просто фантастически. Обратите внимание, что я использую программу «InfoZip», которую вы можете найти практически для любой платформы.
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename="file.zip"');
header('Content-Transfer-Encoding: binary');
header('Accept-Ranges: bytes');
passthru("zip -8 -q -r - ./some_directory | cat");