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

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

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


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

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

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

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

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

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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