php 遍历文件夹里面所有文件及文件夹

代码如下: 

    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;
    		}

    	}
    }

用递归处理,效果如下。 

php 遍历文件夹里面所有文件及文件夹