Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Необходимо реализовать на Laravel функционал импорта Zip архива. В архиве файл и Excel файл с данными для импорта.

1. Проектируем таблицу БД в которой будем хранить и выводить информацию с историей импорта.

2. Загружаем ZIP-архив и проверяем на валидацию файл: тип файла, размер файла. Записываем файл в папку. Рекомендуется сразу на сервере изменить ограничение по размеру для архива не более 120 Мб (`upload_max_filesize`). Проект у нас в докере.

3. Создаем запись в созданной таблице БД:

3.1. Записываем путь до файла.

3.2. Устанавливаем в БД статус для данного импорта «Файл добавлен в очередь на импорт».

4. Настраиваем очередь, чтобы при добавлении записи в таблицу включалась очередь, которая будет:

4.1. Менять статус данной записи на «Импортируется».

4.2. Распаковывать архив

4.3. Ищем в папке файл *.xls* и читать его. Если файлов в папке несколько, то читаем первый попавшийся (не нужно определять файл по имени, имя файла *.xls* может быть любое.

5. Далее, при чтении файла создаем модель, которая построчно обрабатывает Excel.

6. После обработки файла вывод статуса пользователю

6.1. Выполнен успешно

6. 2. Импортировано с ошибками

6.3. Ошибка

год назад
HBB2
31 годРоссия
16 лет в сервисе
Был
год назад