PHP采用自定义函数实现遍历目录下所有文件的方法


Posted in PHP onAugust 19, 2014

目录的遍历是PHP程序设计中经常会用到的一个功能,很多PHP项目都有这一功能模块。今天本文就来实例解析一下PHP采用自定义函数实现遍历目录下所有文件的方法。具体方法如下:

方法一:使用readir()遍历目录

实现代码如下:

function listDir($dir)
{
  if(is_dir($dir))
  {
    if($handle = opendir($dir))
    {
      while($file = readdir($handle))
      {
        if($file != '.' && $file != '..')
        {
          if(is_dir($dir.DIRECTORY_SEPARATOR.$file))
          {
            echo '目录名:'.$dir.DIRECTORY_SEPARATOR.'<font color="red">'.$file.'</font><br />';
            listDir($dir.DIRECTORY_SEPARATOR.$file);
          }else{
            echo '文件名:'.$dir.DIRECTORY_SEPARATOR.$file.'<br />';
          }
        }
      }
    }
    closedir($handle);
  }else{
    echo '非有效目录!';
  }
}
listDir('./phpmyadmin');

方法二:使用dir()遍历目录

本例采用dir()函数遍历,执行成功时返回Directory类实例

function tree($dir)
{
  $mydir = dir($dir);
  while($file = $mydir->read())
  {
    if($file != '.' && $file != '..')
    {
      if(is_dir("$dir/$file"))
      {
        echo '目录名:'.$dir.DIRECTORY_SEPARATOR.'<font color="red">'.$file.'</font><br />';
        tree("$dir/$file");
      }else{
        echo '文件名:'.$dir.DIRECTORY_SEPARATOR.$file.'<br />';
      }
    }
  }
  $mydir->close();
}
tree('./phpmyadmin');

除此之外,还有很多实现目录遍历的方法,相信本文所述方法能够给大家的PHP程序设计带来一定帮助。

PHP 相关文章推荐
php空间不支持socket但支持curl时recaptcha的用法
Nov 07 PHP
有关PHP性能优化的介绍
Jun 20 PHP
PHP扩展CURL的用法详解
Jun 20 PHP
CI框架验证码CAPTCHA辅助函数用法实例
Nov 05 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
May 13 PHP
PHP实现的限制IP投票程序IP来源分析
May 04 PHP
smarty循环嵌套用法示例分析
Jul 19 PHP
PHP中功能强大却很少使用的函数实例小结
Nov 10 PHP
php常用字符函数实例小结
Dec 29 PHP
php安全配置记录和常见错误梳理(总结)
Mar 28 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
Feb 23 PHP
基于php解决json_encode中文UNICODE转码问题
Nov 10 PHP
浅谈php函数serialize()与unserialize()的使用方法
Aug 19 #PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 #PHP
php实现文件下载代码分享
Aug 19 #PHP
PHP中array_map与array_column之间的关系分析
Aug 19 #PHP
phpword插件导出word文件时中文乱码问题处理方案
Aug 19 #PHP
PHP防止表单重复提交的几种常用方法汇总
Aug 19 #PHP
PHP中单引号与双引号的区别分析
Aug 19 #PHP
You might like
用PHP和ACCESS写聊天室(一)
2006/10/09 PHP
PHP Document 代码注释规范
2009/04/13 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
yii2.0框架实现上传excel文件后导入到数据库的方法示例
2020/04/13 PHP
Alliance vs Liquid BO3 第二场2.13
2021/03/10 DOTA
jQuery 源码分析笔记(6) jQuery.data
2011/06/08 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
再谈Jquery Ajax方法传递到action(补充)
2014/05/12 Javascript
js点击button按钮跳转到另一个新页面
2014/10/10 Javascript
JavaScript获得页面base标签中url的方法
2015/04/03 Javascript
javascript实现检验的各种规则
2015/07/31 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
JavaScript文档碎片操作实例分析
2015/12/12 Javascript
BootStrap3中模态对话框的使用
2017/01/06 Javascript
详谈js中标准for循环与foreach(for in)的区别
2017/11/02 Javascript
详解如何用typescript开发koa2的二三事
2018/11/13 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
2019/08/01 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
Python 中 Virtualenv 和 pip 的简单用法详解
2017/08/18 Python
Python引用计数操作示例
2018/08/23 Python
决策树剪枝算法的python实现方法详解
2019/09/18 Python
Python如何在DataFrame增加数值
2020/02/14 Python
python numpy--数组的组合和分割实例
2020/02/24 Python
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
JPA面试常见问题
2016/11/14 面试题
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
高三语文教学反思
2014/01/15 职场文书
法学专业自我鉴定
2014/02/05 职场文书
排查整治工作方案
2014/06/09 职场文书
企业标语大全
2014/07/01 职场文书
医院领导班子整改方案
2014/10/01 职场文书
常住证明范本
2015/06/23 职场文书
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS