Создать zip-файл, используя PHP-класс ZipArchive без записи файла на диск? - PullRequest
20 голосов
/ 12 ноября 2010

Я хотел бы создать zip-файл в памяти, используя ZipArchive (или собственный класс PHP), и прочитать содержимое файла обратно клиенту. Это возможно? Если да, то как?

Максимум 15 МБ файлов, которые я хочу сжать в этом приложении. Я думаю, что мы должны быть в хорошей форме с памятью.

Ответы [ 3 ]

4 голосов
/ 12 ноября 2010

Посмотрите на следующую библиотеку, она позволяет создавать zip-файлы и возвращать их в виде потока: PHPClasses.org .

2 голосов
/ 30 января 2015

Попробуйте ZipStream (ссылка на GitHub repo, также поддерживает установку через Composer ).

С оригинального сайта автора (сейчас мертв):

ZipStream - это библиотека для динамической потоковой передачи динамических zip-файлов из PHP без записи на диск вообще на сервере.

0 голосов
/ 02 июня 2016

Об этом говорит другой поток: Управление архивом в памяти с помощью PHP (без создания временного файла на диске)

Крапива предложила использовать zip.lib.php из PHPMyAdmin .Я думаю, что это довольно солидное решение.

FYI zip.lib.php больше не существует, его заменили на ZipFile.php в той же библиотеке / папке.

...