Генерация потока tar.gz на лету с php - PullRequest
0 голосов
/ 20 сентября 2018

Я хочу отправить большой упакованный файл в браузер без временного сохранения файла на локальном диске.

Я хочу что-то вроде этого:

set_time_limit(0);
ignore_user_abort(true);

header(...);
$streamer = new TarGZStream(PHP_STDOUT);

for($i;$i<100 && connection_status() == CONNECTION_NORMAL;$i++) {
  $fileContent = generateFileContent($i);
  ...
  $streamer->appendContent($fileContent,$filename1);

  $fileHandle = getAFileHandle($i);
  ...
  $streamer->appendFile($fileHandle ,$filename2);
}

cleanupFoo();

Что мне нужно:

  • Потоковая передача tar.gz (или ZIP) на дескриптор потока или на стандартный вывод
  • Добавление некоторых данных с помощью дескриптора потока
  • Добавление некоторых данных с помощью существующего локальногофайл

Как я могу сделать описанный выше сценарий?Какие классы можно использовать?Для этого есть библиотека?

...