php下拉列表中的目录中的文件夹和子文件夹

时间:2011-06-26 19:21:16

标签: php directory

我希望构建一个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 :(得分:0)

假设“转义文件夹”是指您不希望在列表中看到的文件夹,请在if (is_dir($items[$i])) {之后立即插入以下行:

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

但请查看foreach而不是for,而petraszd如果可以的话,您可能希望查看Directory iterator。在这种情况下,您可以使用:

if ($escape_folders == $file->getBasename()) continue;