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生成WAP页面
Oct 09 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
Jan 10 PHP
PHP has encountered an Access Violation
Jan 15 PHP
再次研究下cache_lite
Feb 14 PHP
探讨:如何编写PHP扩展
Jun 13 PHP
PHP实现通过Luhn算法校验信用卡卡号是否有效
Mar 23 PHP
Yii2.0 模态弹出框+ajax提交表单
May 22 PHP
PHP内存缓存功能memcached示例
Oct 19 PHP
php自定义函数实现统计中文字符串长度的方法小结
Apr 15 PHP
解决form中action属性后面?传递参数 获取不到的问题
Jul 21 PHP
Laravel框架路由和控制器的绑定操作方法
Jun 12 PHP
laravel 获取某个查询的查询SQL语句方法
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读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
2015/03/03 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
用php定义一个数组最简单的方法
2019/10/04 PHP
IE与Firefox在JavaScript上的7个不同写法小结
2009/09/14 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
瀑布流布局并自动加载实现代码
2013/03/12 Javascript
简单实例处理url特殊符号&amp;处理(2种方法)
2013/04/02 Javascript
js实现宇宙星空背景效果的方法
2015/03/03 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
2015/12/10 Javascript
深入分析javascript中的错误处理机制
2016/07/17 Javascript
js 判断各种数据类型的简单方法(推荐)
2016/08/29 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
如何获取元素的最终background-color
2017/02/06 Javascript
利用js查找数组中指定元素并返回该元素的所有索引示例
2017/03/29 Javascript
慕课网题目之js实现抽奖系统功能
2017/09/19 Javascript
微信小程序实现手势滑动效果
2019/08/26 Javascript
ES6函数和数组用法实例分析
2020/05/23 Javascript
如何在微信小程序中使用骨架屏的步骤
2020/06/12 Javascript
Vant Weapp组件踩坑:picker的初始赋值解决
2020/11/12 Javascript
编写简单的Python程序来判断文本的语种
2015/04/07 Python
使用Python脚本将Bing的每日图片作为桌面的教程
2015/05/04 Python
Python面向对象特殊成员
2017/04/24 Python
Python高级property属性用法实例分析
2019/11/19 Python
python 数据类型强制转换的总结
2021/01/25 Python
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
萨克斯第五大道精品百货店: Saks Fifth Avenue
2017/04/28 全球购物
2019年.net常见面试问题
2012/02/12 面试题
《逃家小兔》教学反思
2014/02/23 职场文书
学习决心书
2014/03/11 职场文书
个人四风问题对照检查材料思想汇报
2014/10/06 职场文书
2014年物业公司工作总结
2014/11/22 职场文书
2015年大学宣传部工作总结
2015/05/26 职场文书
仓库管理制度范本
2015/08/04 职场文书
2016年端午节红领巾广播稿
2015/12/18 职场文书
python字符串常规操作大全
2021/05/02 Python