Метод directories
Метод directories класса Storage используется для получения списка директорий, расположенных непосредственно в указанной папке (без рекурсивного обхода вложенных каталогов). Первым параметром передается путь к директории, которую нужно просканировать. Второй параметр - булево значение, указывающее, следует ли включать скрытые директории (по умолчанию false). Метод возвращает массив строк с именами найденных папок.
Синтаксис
<?php
Storage::directories($directory, $hidden = false);
?>
Пример
Давайте получим список всех директорий в корне хранилища:
<?php
use Illuminate\Support\Facades\Storage;
$res = Storage::directories('/');
foreach ($res as $dir) {
echo $dir . "\n";
}
?>
Результат выполнения кода:
"public"
"uploads"
"temp"
"backup"
Пример
Получим список директорий в конкретной папке 'public':
<?php
use Illuminate\Support\Facades\Storage;
$res = Storage::directories('public');
foreach ($res as $dir) {
echo $dir . "\n";
}
?>
Результат выполнения кода:
"public/images"
"public/styles"
"public/scripts"
Пример
Давайте получим список директорий, включая скрытые:
<?php
use Illuminate\Support\Facades\Storage;
$res = Storage::directories('storage', true);
foreach ($res as $dir) {
echo $dir . "\n";
}
?>
Результат выполнения кода:
"storage/logs"
"storage/.hidden"
"storage/temp"
"storage/cache"
Пример
Проверим наличие директорий с помощью метода exists перед сканированием:
<?php
use Illuminate\Support\Facades\Storage;
$path = 'upload';
if (Storage::exists($path)) {
$res = Storage::directories($path);
foreach ($res as $dir) {
echo $dir . "\n";
}
} else {
echo "Directory does not exist";
}
?>
Результат выполнения кода:
"upload/images"
"upload/documents"
Смотрите также
-
метод
allDirectories,
который получает все директории рекурсивно -
метод
files,
который получает список файлов в директории -
метод
allFiles,
который получает все файлы рекурсивно -
метод
makeDirectory,
который создает новую директорию