Показать папку и подпапку в раскрывающемся списке

У меня есть код, где все работает, но мне нужны некоторые изменения. У меня есть PHP-код, который показывает дерево папок при выборе ввода. Но теперь я могу выбирать только файлы в папке, но мне нужно выбирать только папки и не отображать файлы в подпапках. После этого мне нужно показать место назначения папки выбора при выборе ввода.

Я нашел решение, которое мне нужно изменить.

function dirToOptions($path = "../files/projects", $level = 0) {
        $items = scandir($path);
        foreach($items as $item) {
            // ignore items strating with a dot (= hidden or nav)
            if (strpos($item, '.') === 0) {
                continue;
            }

            $fullPath = $path . DIRECTORY_SEPARATOR . $item;
            // add some whitespace to better mimic the file structure
            $item = str_repeat(' ', $level * 3) . $item;
            // file
            if (is_file($fullPath)) {
                echo "<option>$item</option>";
            }
            // dir
            else if (is_dir($fullPath)) {
                // immediatly close the optgroup to prevent (invalid) nested optgroups
                echo "<optgroup label='$item'></optgroup>";
                // recursive call to self to add the subitems
                dirToOptions($fullPath, $level + 1);
            }
        }

    }

    echo '<select>';
    dirToOptions();
    echo '</select>';

Возможный дубликат PHP Получить все подкаталоги данного каталога

Nick 28.01.2019 00:00
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
270
1

Ответы 1

Я не уверен, что отвечу на ваш вопрос правильно. Вы хотите показывать только каталоги, но игнорировать файлы, верно?

Итак, что вы можете сделать, это использовать шарик - пример.

Вместо того, чтобы публиковать ответ, который состоит только из ссылки на другой вопрос, отметьте этот вопрос как дубликат этого.

Nick 28.01.2019 00:00

Другие вопросы по теме