#laravel #ftp #iteration
Вопрос:
Я пытаюсь просмотреть FTP-сервер с помощью приложения Larvel 8, чтобы узнать, есть ли файлы для загрузки. Структура папок может отличаться, поэтому я думаю использовать итеративную функцию.
Однако проблема в самом начале. При использовании различных методов над классом хранения я застреваю, потому что могу получить только массив строк и не знаю, как продолжить итерацию.
Storage::disk('ftp')->allDirectories();
Результат таков
array:2 [▼
0 => "2020"
1 => "2021"
]
Что мне нужно сделать, так это перебрать эти папки, содержащие месяцы, чтобы получить все файлы.
Заранее спасибо за любой ответ.
Ответ №1:
- Сначала повторите массив, содержащий строку имен файлов и папок.
- Затем получите URL — адрес папки или файла, используя функцию хранения.
Storage::url('iterated_file_or_folder_name')
- Используйте URL-адрес и проверьте, является ли элемент файлом или папкой, используя встроенную функцию
is_file
илиis_dir
- Теперь, если это файл, загрузите его или, если это каталог, добавьте его к URL-адресу и также просмотрите этот новый каталог.
Спасибо