PHP раскрывающийся список папок и подпапок внутри каталога - PullRequest
0 голосов
/ 26 июня 2011

Я хочу создать функцию php, которая будет перечислять все папки и подпапки в определенном каталоге, но экранировать определенную папку / подпапки каталога в списке.

 $dir = "directory_to_scan_for_folders"
 $escape_folder = "folder_to_escape";

     function listFolders($dir) {
             $items = glob($dir . '/*', GLOB_ONLYDIR);
             for ($i = 0; $i < count($items); $i++) {
                 if (is_dir($items[$i])) {
                     $add = glob($items[$i] . '/*',GLOB_ONLYDIR);
                     $items = array_merge($items, $add);
                 }
             }
             return $items;
         }

Мне удалось вывести список всех папок с помощью вышеуказанной функции, но я не знаю, как вывести папку $ escape_folder и ее подпапки из списка.

Примечание: "escape_folder" означает папку который я не хочу показывать в списке.

1 Ответ

0 голосов
/ 27 июня 2011

Предполагая, что под "escape-папками" подразумевается папка, которую вы не хотите видеть в списке, сразу после if (is_dir($items[$i])) { вставьте следующую строку:

if ($escape_folders == $items[$i]) continue;

Но посмотрите на foreach вместо for и, как говорит petraszd , вы, возможно, захотите взглянуть на Итератор каталога .В этом случае вы будете использовать:

if ($escape_folders == $file->getBasename()) continue;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...