stdout — Как создать и скачать zip-архив на PHP без посреднического файла на стороне сервера

Класс PHP ZipArchive позволит мне создать zip-архив с методом open ():

mixed ZipArchive::open ( string $filename [, int $flags ] )

Затем я могу добавить файлы в этот архив, закрыть файл и загрузить его в веб-браузер пользователя, как обычно:

header ('Content-Type: application/zip');
header ('Content-Length: ' . filesize ($filename));
header ('Content-Disposition: attachment; filename="' . $filename . '"');
readfile ($filename);
unlink ($filename);

Мой вопрос: есть ли способ избежать создания файла на жестком диске сервера, загрузить его и затем стереть? То есть Можно ли использовать stdout в качестве целевого имени файла, передаваемого методу open (), и напрямую записывать содержимое архива в stdout? Что-то вроде:

ZipArchive::open ( STDOUT, ZipArchive::CREATE)

Или я застрял с необходимостью промежуточного файла на стороне сервера?

1

Решение

«ZipStream — это библиотека для динамической потоковой передачи динамических zip-файлов из PHP без записи на диск вообще
. Сервер «Ссылка: https://github.com/maennchen/ZipStream-PHP

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]