структуру каталогов для загрузки без сохранения на сервере

У меня есть проект, в котором я хотел бы создать динамическую структуру дерева каталогов, не сохраняя его на сервере, сжимаю и выталкиваю его для загрузки. Можно ли сделать это?

Related of "структуру каталогов для загрузки без сохранения на сервере"

Вероятно, вы ищете что-то вроде ZipArchive::addEmptyDir , которое можно использовать для создания пустого каталога в ZIP-архиве. Позднее вы можете добавить файлы в этот каталог.

Вам все равно нужно сохранить полученный архив на диск …

 $file = tempnam("tmp", "zip"); $zip = new ZipArchive(); $zip->open($file, ZIPARCHIVE::CREATE); $zip->addEmptyDir('newDirectory'); $zip->addFromString('newDirectory/demo.txt', 'file contents'); $zip->close(); // Stream the file to the client header('Content-Type: application/zip'); header('Content-Length: ' . filesize($file)); header('Content-Disposition: attachment; filename="some_archive_file.zip"'); readfile($file); unlink($file); 

Если вы хотите передать архив без сохранения архива на своем конце, вы можете попробовать посмотреть класс PHPZip

Вы можете использовать passthru с комбинацией утилит архивации командной строки, то есть:

 passthru("tar dir0/ dir1/ dir2/dir23/dir234/ dir4/file4.txt | gzip -f");