Как добавить несколько файлов в ZipArchive за время O(n) ⇐ Php
-
Гость
Как добавить несколько файлов в ZipArchive за время O(n)
Я предлагаю возможность загрузки нескольких фотографий в виде одного архивного файла.
Формат TAR работает нормально, но у большинства людей нет ничего, что могло бы открыть файлы TAR на их устройстве, а затем они жалуются, что это не работает.
В формате ZIP нет необходимости (поскольку фотографии уже сжаты), но его сможет открыть большинство людей.
Похоже, что встроенный класс PHP ZipArchive имеет только метод addFile для добавления одного файла за раз. Похоже, что это включает в себя распаковку и повторное сжатие всего архива, в результате чего чем больше файлов вы добавляете, тем медленнее он работает - т.е. он выполняется за время O(n2) для добавления n файлов. Эффект от этого становится катастрофическим после 30-40 фотографий в высоком разрешении.
Я что-то пропустил о ZipArchive? Или это недостаток класса, который следует выдвинуть в качестве запроса на добавление функции?
Существуют ли альтернативы для достижения цели быстрого создания формата архива, который большинство людей смогут открыть без установки дополнительного программного обеспечения?
Я предлагаю возможность загрузки нескольких фотографий в виде одного архивного файла.
Формат TAR работает нормально, но у большинства людей нет ничего, что могло бы открыть файлы TAR на их устройстве, а затем они жалуются, что это не работает.
В формате ZIP нет необходимости (поскольку фотографии уже сжаты), но его сможет открыть большинство людей.
Похоже, что встроенный класс PHP ZipArchive имеет только метод addFile для добавления одного файла за раз. Похоже, что это включает в себя распаковку и повторное сжатие всего архива, в результате чего чем больше файлов вы добавляете, тем медленнее он работает - т.е. он выполняется за время O(n2) для добавления n файлов. Эффект от этого становится катастрофическим после 30-40 фотографий в высоком разрешении.
Я что-то пропустил о ZipArchive? Или это недостаток класса, который следует выдвинуть в качестве запроса на добавление функции?
Существуют ли альтернативы для достижения цели быстрого создания формата архива, который большинство людей смогут открыть без установки дополнительного программного обеспечения?
Мобильная версия