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

php中文网
发布: 2016-06-20 12:46:12
原创
1350人浏览过

//php 递归实现遍历 用dir 返回对象<?   function loop($dir){	 $mydir =dir($dir);    //以对象的形式访问    while($file = $mydir ->read()){                        //目录中有隐藏文件'.'和'..' 遍历的时候需要注意            if((is_dir("$dir/$file")) && ($file!=".") && ($file!="..")){	                echo $file.'</br>';                        loop("$dir/$file"); //递归循环            }else{                   if($file!=".." && $file!="."){                    echo $file."</br>";                    }			            }			    }		  }   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."</br>";      //如果是目录    if (is_dir($file)){      $children = scandir($file);	  var_dump($children);      foreach ($children as $child){        if ($child !== '.' && $child !== '..'){          $list[] = $file.'/'.$child;		            }       }     }	  	    }}scanall(dirname(__file__));
登录后复制


PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号