这里介绍两种方式,在具体应用中有差别,可能是应用场景本身的问题。
1、opendir + readdir
代码实现:
//显示目录
$dir= '/path';
$dh = opendir($dir);//打开目录
while(($d = readdir($dh)) != false){
//逐个文件读取,添加!=false条件,是为避免有文件或目录的名称为0
//一般像存储的目录经常有0的文件夹,所以一般不用加!=false
if($d=='.' || $d == '..' || $d == '.svn') continue;
//判断是否为.或..,或者svn的项目的文件,默认都会有
if(is_dir($d)){//如果为目录,$d不同应用场景要绝对路径
//这里做递归调用
}else{//显示文件
echo $d;
}
}
2、scandir直接获取目录中的文件,以数据形式输出
这里着重说下两个方式的不同,第一种有时候有些文件或目录找不到,第二种都可以找到