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 相关文章推荐
NT IIS下用ODBC连接数据库
Oct 09 PHP
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
Aug 19 PHP
PHP写入WRITE编码为UTF8的文件的实现代码
Jul 07 PHP
PHP stream_context_create()作用和用法分析
Mar 29 PHP
请离开include_once和require_once
Jul 18 PHP
Laravel 5框架学习之表单验证
Apr 08 PHP
php读取csc文件并输出
May 21 PHP
php使用Jpgraph绘制简单X-Y坐标图的方法
Jun 10 PHP
PHP生成图片缩略图类示例
Jan 12 PHP
php写app接口并返回json数据的实例(分享)
May 20 PHP
PHP异步进程助手async-helper
Feb 05 PHP
PHP PDOStatement::fetch讲解
Jan 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 魔术函数使用说明
2010/02/21 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
document.getElementById介绍
2011/09/13 Javascript
jquery控制display属性为none或block
2014/03/31 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
jQuery实现平滑滚动到指定锚点的方法
2015/03/20 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
nodejs 终端打印进度条实例代码
2017/04/22 NodeJs
微信小程序视图template模板引用的实例详解
2017/09/20 Javascript
Javascript中的作用域及块级作用域
2017/12/08 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
vue-property-decorator用法详解
2019/12/12 Javascript
python使用urllib模块和pyquery实现阿里巴巴排名查询
2014/01/16 Python
Python多线程编程(二):启动线程的两种方法
2015/04/05 Python
在Linux系统上安装Python的Scrapy框架的教程
2015/06/11 Python
django写用户登录判定并跳转制定页面的实例
2019/08/21 Python
python如何写try语句
2020/07/14 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
J.Crew官网:美国知名休闲服装品牌
2017/05/19 全球购物
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
美国新娘礼品店:The Paisley Box
2020/09/08 全球购物
土木工程专业个人求职信
2013/12/05 职场文书
企业统计员岗位职责
2013/12/13 职场文书
2013的个人自我评价
2013/12/26 职场文书
幼儿教育感言
2014/02/05 职场文书
《蓝色的树叶》教学反思
2014/02/24 职场文书
农民工工资发放承诺书
2014/03/31 职场文书
十佳中学生事迹材料
2014/06/02 职场文书
销售团队口号大全
2014/06/06 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
JavaScript流程控制(循环)
2021/12/06 Javascript
Android开发手册Chip监听及ChipGroup监听
2022/06/10 Java/Android
GoFrame框架数据校验之校验结果Error接口对象
2022/06/21 Golang