Для получения списка каталогов из директории в PHP вы можете использовать функцию scandir()
.
Функция scandir()
возвращает список файлов и каталогов в заданной директории.
Применение функции scandir()
в своем коде может выглядеть следующим образом:
$dir = "/путь/к/директории"; // задайте путь к директории // проверяем, что директория существует и доступна для чтения if (is_dir($dir) && is_readable($dir)) { $directories = array(); // создаем пустой массив для хранения каталогов // получаем список файлов и каталогов в директории, игнорируем "." и ".." $files = array_diff(scandir($dir), array(".", "..")); // перебираем элементы списка foreach ($files as $file) { // проверяем, является ли элемент каталогом if (is_dir($dir . "/" . $file)) { $directories[] = $file; // добавляем его в массив каталогов } } // выводим список каталогов foreach ($directories as $directory) { echo $directory . "<br>"; } } else { echo "Директория не существует или не доступна для чтения."; }
В этом примере мы задаем путь к директории в переменной $dir
, а затем проверяем, существует ли директория и доступна ли она для чтения с помощью функций is_dir()
и is_readable()
.
Если директория существует и доступна для чтения, мы создаем пустой массив $directories
, который будет содержать имена каталогов. Затем мы используем функцию scandir()
для получения списка файлов и каталогов в заданной директории и используем функцию array_diff()
для исключения специальных элементов "." и ".." из списка.
Затем мы перебираем каждый элемент списка и проверяем, является ли он каталогом, с помощью функции is_dir()
. Если элемент является каталогом, мы добавляем его имя в массив $directories
.
Наконец, мы выводим список каталогов, перебирая массив $directories
и выводя каждое имя каталога с помощью оператора echo
. Если директория не существует или не доступна для чтения, выводится сообщение об ошибке.