Как добавить несколько файлов в ZipArchive за время O(n)Php

Кемеровские программисты php общаются здесь
Гость
Как добавить несколько файлов в ZipArchive за время O(n)

Сообщение Гость »


Я предлагаю возможность загрузки нескольких фотографий в виде одного архивного файла.

Формат TAR работает нормально, но у большинства людей нет ничего, что могло бы открыть файлы TAR на их устройстве, а затем они жалуются, что это не работает.

В формате ZIP нет необходимости (поскольку фотографии уже сжаты), но его сможет открыть большинство людей.

Похоже, что встроенный класс PHP ZipArchive имеет только метод addFile для добавления одного файла за раз. Похоже, что это включает в себя распаковку и повторное сжатие всего архива, в результате чего чем больше файлов вы добавляете, тем медленнее он работает - т.е. он выполняется за время O(n2) для добавления n файлов. Эффект от этого становится катастрофическим после 30-40 фотографий в высоком разрешении.

Я что-то пропустил о ZipArchive? Или это недостаток класса, который следует выдвинуть в качестве запроса на добавление функции?

Существуют ли альтернативы для достижения цели быстрого создания формата архива, который большинство людей смогут открыть без установки дополнительного программного обеспечения?

Вернуться в «Php»