2015-09-04 77 views
0

如何獲取目錄中第一個子目錄名稱的列表?php - 獲取第一個子目錄名稱列表

下面是一個例子樹:

dir/
    dir_first a/
        dir second aa 
        dir second ab 
        dir second ac     
    dir_first b/
        dir second ba 
        dir second bb 
        dir second bc 
    dir first c/
        dir second ca 
        dir second cb 
        dir second cc 

我發現通過DIR here迭代的方式,但是這是列出了所有第二級兒童也是一樣,也是他們的完整路徑,而我只想要像dir_first a等目錄名:

$iterator = new RecursiveIteratorIterator(
       new RecursiveDirectoryIterator($dir_path), 
      RecursiveIteratorIterator::SELF_FIRST); 

foreach($iterator as $file) { 
    if($file->isDir()) { 
     echo $file->getRealpath(); 
    } 
} 
+1

如果我理解你的問題的權利,你需要的是輸出,但現在沒有完整的路徑同樣的事情 - 用[基名(http://php.net/manual/en/function.basename.php )。 'echo basename($ file-> getRealpath());' – DannyPhantom

+0

是不是會輸出最後一個或在這個例子中的第二級目錄? – KeepMove

+0

所以你只需要dir_first a,dir_first b等? – DannyPhantom

回答

1

水珠允許你輸入一個路徑,然後用一個標誌,只返回目錄。

$files = glob('mydir/*',GLOB_ONLYDIR); 
var_dump($files); 
+0

o,是的!那是!有沒有辦法選擇輸出訂單?我的意思是上升或下降?我仍然更喜歡使用'RecursiveDirectoryIterator',但如果這是唯一的方法,我會接受。 – KeepMove

+0

GLOB_NOSORT將按目錄中列出的順序返回文件。如果這不符合你的要求,你可以使用PHP的排序功能。 – user2182349