Что является более эффективным: архивирование с помощью системной команды или использование PHP ZipArchive? - PullRequest
1 голос
/ 16 августа 2011

Недавно мне дали задание, которое включает загрузку zip-файла, сохранение его в базе данных в виде блога, а затем извлечение и представление содержимого этого zip-файла, когда клиент запрашивает его.

У меня есть два подхода к этой задаче: использование команды exec для выполнения команды zip, встроенной в ОС Linux, на которой работает веб-сервер, или использование класса ZipArchive, поставляемого с PHP.

  • Какой подход использует наименьшее количество памяти?
  • Какой подход предлагает наибольшую гибкость?W
  • Каковы основные преимущества одного подхода перед другим?

1 Ответ

2 голосов
/ 16 августа 2011

exec('zip') намного быстрее для больших / многих файлов.Встроенные подпрограммы всегда работают медленнее (из-за большого количества обращений к библиотеке и дополнительных затрат. Система zip может иметь преимущество в использовании высокооптимизированных подпрограмм. Плюсом к методу exec является простота смены форматов вывода сzip до rar, или 7zip, или bzip и т. Д. *

...