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