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 has encountered an Access Violation at 7C94BD02解决方法
Aug 24 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
Apr 25 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
May 15 PHP
ThinkPHP字符串函数及常用函数汇总
Jul 18 PHP
php对文件夹进行相关操作(遍历、计算大小)
Nov 04 PHP
PHP QRCODE生成彩色二维码的方法
May 19 PHP
php获取客户端IP及URL的方法示例
Feb 03 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
Jun 06 PHP
php实现支付宝当面付(扫码支付)功能
May 30 PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 PHP
php实现获取近几日、月时间示例
Jul 06 PHP
PHP底层运行机制与工作原理详解
Jul 31 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 和 HTML
2006/10/09 PHP
PHP中构造函数和析构函数解析
2014/10/10 PHP
php微信公众号开发之二级菜单
2018/10/20 PHP
给jqGrid数据行添加修改和删除操作链接(之一)
2011/11/04 Javascript
javascript 随机展示头像实现代码
2011/12/06 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
jquery获取当前日期的方法
2015/01/14 Javascript
node.js express安装及示例网站搭建方法(分享)
2016/08/22 Javascript
PHP实现本地图片上传和验证功能
2017/02/27 Javascript
js鼠标跟随运动效果
2017/03/11 Javascript
微信小程序简单实现form表单获取输入数据功能示例
2017/11/30 Javascript
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
2019/04/29 NodeJs
JS正则表达式封装与使用操作示例
2019/05/15 Javascript
webpack4之如何编写loader的方法步骤
2019/06/06 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
layui输入框中只允许输入整数的实现方法
2019/09/18 Javascript
vue路由传参三种基本方式详解
2019/12/09 Javascript
python实现监控windows服务并自动启动服务示例
2014/04/17 Python
Python实现全角半角转换的方法
2014/08/18 Python
Python获取DLL和EXE文件版本号的方法
2015/03/10 Python
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
python自动化之Ansible的安装教程
2019/06/13 Python
python求numpy中array按列非零元素的平均值案例
2020/06/08 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
美国知名的家庭连锁百货商店:Boscov’s
2017/07/27 全球购物
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
保险专业自荐信范文
2014/02/20 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
艺术节开幕词
2015/01/28 职场文书
新娘婚礼致辞
2015/07/27 职场文书
美容院员工规章制度
2015/08/05 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
css position fixed 左右双定位的实现代码
2021/04/29 HTML / CSS
python 标准库原理与用法详解之os.path篇
2021/10/24 Python
Win11远程连接不上怎么办?Win11远程桌面用不了的解决方法
2022/08/05 数码科技