3 回答
TA贡献1886条经验 获得超2个赞
$handle = opendir('/tmp');
$arr = array();
while($file = readdir($handle)){
$newpath="/tmp/".$file;
if(is_dir($newpath)) $arr[] = $newpath ;
}
print_r($arr);
我是一楼的,我现在来补充回答你的问题:
1.以上程序 经过我测试,是完全正确的。
2.请确认你的路径是否正确,是根目录呢,还是当前目录,如果是当前目录(重要)
3.请确认是否有权限读取目录
4.中文的情况,只要编码设置正确即可(我测试时候设置为GBK的)
TA贡献1780条经验 获得超3个赞
函数是返回指定目录下的所以一级文件名
function find_dir($dirname){
$arr = array();
if( false === $dir = @opendir($dirname) ) return;
while( false !== ($tmpname = readdir($dir)) ){
if($tmpname == "." || $tmpname == "..") continue;
if($tmpname){
$info = pathinfo($tmpname);
$arr[] = $info['filename'];
}
}
return $arr;
}
调用
echo "<pre>";print_r(find_dir("."));
TA贡献1779条经验 获得超6个赞
<?php
function getSubDirs($dir) {
$subdirs = array();
if(!$dh = opendir($dir)) return $subdirs;
while ($f = readdir($dh)) {
if($f =='.' || $f =='..') continue;
$path = $dir.'/'.$f; //如果只要子目录名, path = $f;
if(is_dir($path)) {
$subdirs[] = $path;
}
}
return $subdirs;
}
$arr = getSubDirs('/tmp');
print_r($arr);
添加回答
举报