opendir() 函數打開一個目錄句柄,可由 closedir(),readdir() 和 rewinddir() 使用。
若成功,則該函數返回一個目錄流,否則返回 false 以及一個 error。可以通過在函數名前加上 "@" 來隱藏 error 的輸出。
語法為 opendir(path,context)。
下面是一個例子:
<?php //打開 images 目錄 $dir = opendir("bkjia"); //列出 images 目錄中的文件 while (($file = readdir($dir)) !== false) { echo "filename: " . $file . "<br />"; } closedir($dir); ?>
程序輸出:
filename: . filename: .. filename: cat.gif filename: dog.gif filename: food filename: horse.gif
這裡把子目錄和文件都輸出了,現在只需要把子目錄輸出,可以用下面的函數實現:
<?php function getSubDirs($dir) { $subdirs = array(); if(!$dh = opendir($dir)) return $subdirs; $i = 0; while ($f = readdir($dh)) { if($f =='.' || $f =='..') continue; //如果只要子目錄名, path = $f; //$path = $dir.'/'.$f; $path = $f; $subdirs[$i] = $path; $i++; } return $subdirs; } $arr = getSubDirs("tmp"); print_r($arr); ?>
程序運行結果為:
Array ( [0] => Hello [1] => NowaMagic )
這次可以實現需求了。