Необходимо реализовать на 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. Ошибка

2 года назад
HBB2
32 года
17 лет в сервисе
Был
2 года назад

Заявки фрилансеров

Дмитрий
 
30 лет
5 лет в сервисе
Был
2 месяца назад
52 отзыва(-1)
2 года назад
Алдияр
 
24 года
6 лет в сервисе
Был
2 года назад
1 отзыв(-1)
2 года назад
Роман
 
35 лет
2 года в сервисе
Был
2 года назад
2 года назад
Андрей
 
34 года
7 лет в сервисе
Был
9 месяцев назад
1 отзыв
2 года назад