Чтобы не сорвать ваш php-процесс, я бы рекомендовал вам выгружать файлы из MongoDB один за другим во временный каталог файловой системы, а затем использовать exec
в сочетании с tar
или zip
, чтобы включитьэто в сжатый архив, который вы отправляете пользователю.
Конечно, это может привести к довольно плохой DDoS-атаке вашего сайта, так что вам лучше написать это осторожно, то есть, если у пользователя естьболее 100 изображений, использование очереди с Gearman или каким-либо сервером RabbitMQ может быть хорошей идеей, и тогда вы можете сказать им, что они получат электронное письмо, как только их ссылка для скачивания архива будет готова или что-то еще?Я полагаю, что экспортировать все ваши фотографии не должно быть повседневной задачей, поэтому это может быть приемлемо.