2015-04-17 2 views
1

Похожие:PHP: Zip файловый поток на лету на промежуточном сервере, без сохранения (слишком много) данных

Я ищу комбинацию методов, описанных в других темах. Мне, вероятно, нужно прочитать файл (из URL) в небольших кусках, передать их в STDIN команды z_proen zip, захватить вывод и сбросить его по направлению к клиенту.

Что мне нужно сделать:

  • Чтение файла поток из URL с сервера
  • хранения Zip его на лету на веб-сервере
  • Предложение это как загрузить на веб-браузере , используя контент-расположение с неизвестным размером (это, в конце концов, поток).

То, что я не могу сделать:

  • хранить файлы на веб-сервер
  • Выполнить код на сервере хранения
  • использовать много памяти
  • Пусть клиент ждать для download

Таким образом, промывка данных должна запускаться, в то время как дистанционное чтение каналов все еще находится в режиме p rogress.

Возможно ли это на PHP? Я чувствую, что это будет намного проще на языках, которые предлагают больше функций callback/async, но в этой ситуации я придерживаюсь PHP.

Любые примеры или некоторые грубые коды были бы очень желанными!

ответ

0

Это не PHP, но этот проект делает именно то, что вы ищете. Вы можете разместить его как автономный сервер и позвонить ему по адресу php:

https://github.com/scosman/zipstreamer