Как получить список каталогов из директории?

Для получения списка каталогов из директории в 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. Если директория не существует или не доступна для чтения, выводится сообщение об ошибке.