ArtDenis
@ArtDenis
Разработчик сайтов и мобильных приложений

Как генерировать архив на хостинге, по запросу пользователя?

Здравствуйте, не знаю куда копать, чтобы сделать что-то похожее:

Пользователь заходит на сайт, видит список файлов (штук 30), галочкой выбирает только ему необходимые. Нажимает "Скачать" и получает архив с выбранными файлами.

Буду рад любому ответу, заранее спасибо :)
  • Вопрос задан
  • 182 просмотра
Решения вопроса 2
valerium
@valerium
Изобретая велосипед
Сжимать прямо в PHP приемлемо только если файлов немного и они небольшого размера. Большие файлы не успеют сжаться за стандартные 30 секунд, которые Apache отводит на исполнение скриптов. Так что если хотите масштабируемое решение, посмотрите в сторону сжатия в фоне.

Простейший способ - очередь сжатия. После того как пользователь ставит галочки и жмёт "Скачать", скрипт записывает список сжимаемых файлов в, допустим, базу данных. Сидящий в фоне скрипт раз в минуту (условно) проверяет появление новых файлов в списке. Как только находит, начинает работу. При этом страница, которую видит клиент, раз в 10-15 секунд по аяксу запрашивает статус сжатия. Когда оно закончится, пользователю отдаётся ссылка на скачивание.

Так же грамотным решением было бы использование специализированного менеджера очередей, вроде RabbitMQ.

P. S. Позиционировать себя как разработчика сайтов и не знать про стандартный модуль PHP - это интересно :-)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы