代码如下:
function getFiles($dir){
if(is_dir($dir)){ //判断文件是否是目录。
$files = array();
if($handle = opendir($dir)){ //打开一个目录,获取目录句柄资源
while ( ($file = readdir($handle)) !== false) { //循环打开目录下的文件
$temp = iconv('GBK','utf-8',$dir.'/'.$file); //将windows中的文件编码转译为GBK 不然中文文件会乱码
if($file != '.' && $file != '..'){ //避免把$dir的父级目录也读取出来
if(is_dir($temp)){
$files[$file] = getFiles($temp); //如果是目录 递归处理
}else{
$files[] = $temp; //是文件放入$files数组
}
}
}
closedir($handle); //不要忘记关闭目录句柄。
return $files;
}
}
}
用递归处理,效果如下。