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 json_encode值中大括号与花括号区别
Sep 30 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
Dec 20 PHP
PHP调试函数和日志记录函数分享
Jan 31 PHP
php实现微信公众号主动推送消息
Dec 31 PHP
利用PHP访问带有密码的Redis方法示例
Feb 09 PHP
PHP对象相关知识总结
Apr 09 PHP
浅谈PHP中new self()和new static()的区别
Aug 11 PHP
PHP基于Closure类创建匿名函数的方法详解
Aug 17 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
Jan 15 PHP
PHP中一个有趣的preg_replace函数详解
Aug 15 PHP
php策略模式简单示例分析【区别于工厂模式】
Sep 25 PHP
laravel框架实现去掉URL中index.php的方法
Oct 12 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 数组基础知识小结
2010/08/20 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
php使用base64加密解密图片示例分享
2014/01/20 PHP
ThinkPHP表单自动验证实例
2014/10/13 PHP
php如何执行非缓冲查询API
2016/07/22 PHP
jquery 表单取值常用代码
2009/12/22 Javascript
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
jQuery获取checkbox选中的值
2016/01/28 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
浅谈函数调用的不同方式,以及this的指向
2017/09/17 Javascript
详解在vue-cli项目中使用mockjs(请求数据删除数据)
2017/10/23 Javascript
vue环境搭建简单教程
2017/11/07 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
vue计算属性computed的使用方法示例
2019/03/13 Javascript
jQuery实现简易聊天框
2020/02/08 jQuery
python简单程序读取串口信息的方法
2015/03/13 Python
举例详解Python中的split()函数的使用方法
2015/04/07 Python
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
python列表推导式入门学习解析
2019/12/02 Python
python实现简单井字棋游戏
2020/03/04 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
python矩阵运算,转置,逆运算,共轭矩阵实例
2020/05/11 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
详解CSS3的图层阴影和文字阴影效果使用
2016/06/09 HTML / CSS
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
幼儿教师思想汇报
2014/01/10 职场文书
家长会邀请书
2014/01/25 职场文书
小学国庆节活动方案
2014/02/11 职场文书
人事专员职责
2014/02/22 职场文书
十佳文明家庭事迹
2014/05/25 职场文书
物业管理专业求职信
2014/06/11 职场文书
平安建设汇报材料
2014/12/29 职场文书
终止劳动合同通知书
2015/04/16 职场文书
教你怎么用Python实现多路径迷宫
2021/04/29 Python
MySql 8.0及对应驱动包匹配的注意点说明
2021/06/23 MySQL