当前位置:Gxlcms > PHP教程 > php递归和非递归遍历目录下的所有文件

php递归和非递归遍历目录下的所有文件

时间:2021-07-01 10:21:17 帮助过:25人阅读

//php 递归实现遍历 用dir 返回对象read()){                        //目录中有隐藏文件'.'和'..' 遍历的时候需要注意            if((is_dir("$dir/$file")) && ($file!=".") && ($file!="..")){	                echo $file.'
'; loop("$dir/$file"); //递归循环 }else{ if($file!=".." && $file!="."){ echo $file."
"; } } } } loop(dirname(__FILE__)); //dirname 去掉文件名返回目录名//非递归处理遍历目录//思路: 首先创建一个数组,因为第一次传的是一个去掉文件名的目录名(如 c://wamp/www/php)// 进行foreach 循环 所以第一次把C://wamp/www/php 下的全部文件都放入到了 数组中//只够进行 while大循环 每次
输出数组的最后一个,当文件为目录的时候在此进行foreach循环//知道最后一个值时count($list)值为0 退出循环function scanAll($dir){ $list = array(); $list[] = $dir; while (count($list) > 0) { // var_dump($list); //弹出数组最后一个元素 $file = array_pop($list); //处理当前文件 echo $file."
"; //如果是目录 if (is_dir($file)){ $children = scandir($file); var_dump($children); foreach ($children as $child){ if ($child !== '.' && $child !== '..'){ $list[] = $file.'/'.$child; } } } }}scanAll(dirname(__FILE__));

人气教程排行