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 )
這次可以實現需求了。