РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
781 of 1392 menu

Метод allDirectories

Метод allDirectories класса Storage применяется для получения всех директорий внутри указанного пути, включая все вложенные поддиректории. В отличие от метода directories, который возвращает только директории первого уровня, allDirectories рекурсивно обходит все уровни вложенности. Метод принимает первым параметром путь к директории, вторым - необязательный параметр для указания диска. Возвращает массив строк, содержащих пути к найденным директориям.

Синтаксис

<?php Storage::allDirectories($path, $disk); ?>

Пример

Давайте получим все директории внутри папки 'public':

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Storage; class StorageController extends Controller { public function index() { $res = Storage::allDirectories('public'); foreach ($res as $dir) { echo $dir . "\n"; } } } ?>

Результат выполнения кода:

"public/images" "public/images/avatars" "public/images/gallery" "public/documents" "public/documents/reports" "public/temp"

Пример

Давайте получим все директории внутри корня диска:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Storage; class StorageController extends Controller { public function index() { $res = Storage::allDirectories('/'); if (empty($res)) { echo "No directories found"; } else { foreach ($res as $dir) { echo $dir . "\n"; } } } } ?>

Результат выполнения кода:

"docs" "docs/api" "docs/guides" "temp" "uploads" "uploads/images" "uploads/files"

Пример

Давайте получим все директории, используя другой диск:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Storage; class StorageController extends Controller { public function index() { $res = Storage::allDirectories('/', 's3'); foreach ($res as $dir) { echo $dir . "\n"; } } } ?>

Результат выполнения кода:

"backup" "backup/2023" "backup/2023/january" "backup/2023/february" "media" "media/videos" "media/audio"

Пример

Давайте подсчитаем количество всех директорий в папке:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Storage; class StorageController extends Controller { public function index() { $res = Storage::allDirectories('storage'); echo "Total directories: " . count($res); } } ?>

Результат выполнения кода:

"Total directories: 15"

Смотрите также

  • метод directories,
    который возвращает только директории первого уровня
  • метод allFiles,
    который рекурсивно получает все файлы
  • метод files,
    который получает файлы только первого уровня
  • метод exists,
    который проверяет существование пути
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить