2014-03-27 165 views
1

請在php中如何獲取指定目錄中的子目錄列表,而不顯示父目錄?目前,我有這樣的事情:如何只列出指定目錄的子目錄?

$subdirs = array_filter(glob('mydir/*'), 'is_dir'); 
foreach($subdirs as $s){ 
echo $s.'<br>'; 
} 

這是我作爲樣本輸出: MYDIR /賬戶, MYDIR /支付

我只希望這是輸出: 賬戶, 支付

請問,我該如何解決這個問題?

回答

1

您可以使用basename()返回(剝離mydir關閉)的最後一個文件夾。

$subdirs = array_filter(glob('mydir/*'), 'is_dir'); 
foreach($subdirs as $s){ 
    echo basename($s) . '<br>'; 
} 

注:這不會對多個子目錄工作,你最好脫光使用str_replace()mydir/部分:

$subdirs = array_filter(glob('mydir/*'), 'is_dir'); 
foreach($subdirs as $s){ 
    echo str_replace('mydir/', '', $s) . '<br>'; 
} 
4

如何:

$subdirs = array_map('basename', glob('mydir/*', GLOB_ONLYDIR)); 

或者,如果您以後需要使用$subdirs並保留完整的路徑:

$subdirs = glob('mydir/*', GLOB_ONLYDIR); 
foreach(array_map('basename', $subdirs) as $s) { 
0

基名()的工作形成了我。

$subdirs = array_filter(glob('mydir/*'), 'is_dir'); 
foreach($subdirs as $s){ 
echo basename($s) . '<br>'; 
} 

這也爲我工作:

foreach($subdirs as $s){ 
echo str_replace("mydir/", "", $s).'<br>'; 
} 
+0

當然它做了,它的工作6分鐘前的答案。 – AbraCadaver