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的错误信息
Oct 09 PHP
php解析字符串里所有URL地址的方法
Apr 03 PHP
PHP也能干大事之PHP中的编码解码详解
Apr 20 PHP
如何使用GDB调试PHP程序
Dec 08 PHP
浅谈PHP的数据库接口和技术
Dec 09 PHP
php查询及多条件查询
Feb 26 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
php strftime函数的详细用法
Jun 21 PHP
Yii2压缩PHP中模板代码的输出问题
Aug 28 PHP
Laravel框架验证码类用法实例分析
Sep 11 PHP
ThinkPHP5&amp;5.1实现验证码的生成、使用及点击刷新功能示例
Feb 07 PHP
php的lavarel框架中join和orWhere的用法
Dec 28 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
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
发一个php简单的伪原创程序,配合商城采集用的
2010/10/12 PHP
PHP三元运算的2种写法代码实例
2014/05/12 PHP
PHP中PDO事务处理操作示例
2018/05/02 PHP
JavaScript延迟加载
2021/03/09 Javascript
JavaScript语言中的Literal Syntax特性分析
2007/03/08 Javascript
jQuery学习4 浏览器的事件模型
2010/02/07 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
Bootstrap文件上传组件之bootstrap fileinput
2016/11/25 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
2017/04/14 jQuery
AngularJS全局警告框实现方法示例
2017/05/18 Javascript
jQuery常用选择器详解
2017/07/17 jQuery
php main 与 iframe 相互通讯类(js+php同域/跨域)
2017/09/14 Javascript
vue-router3.0版本中 router.push 不能刷新页面的问题
2018/05/10 Javascript
11个教程中不常被提及的JavaScript小技巧(推荐)
2019/04/17 Javascript
微信小程序 确认框的实现(附代码)
2019/07/23 Javascript
jQuery实现雪花飘落效果
2020/08/02 jQuery
Linux环境下MySQL-python安装过程分享
2015/02/02 Python
利用Python实现简单的相似图片搜索的教程
2015/04/23 Python
python在指定目录下查找gif文件的方法
2015/05/04 Python
在windows下快速搭建web.py开发框架方法
2016/04/22 Python
Python设计模式之抽象工厂模式
2016/08/25 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
python判断数字是否是超级素数幂
2018/09/27 Python
python requests模拟登陆github的实现方法
2019/12/26 Python
NumPy排序的实现
2020/01/21 Python
如何利用Python matplotlib绘制雷达图
2020/12/21 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
CSS3动画之利用requestAnimationFrame触发重新播放功能
2019/09/11 HTML / CSS
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
Python如何定义一个函数
2015/09/01 面试题
感恩之星事迹材料
2014/05/03 职场文书
节能减耗标语
2014/06/21 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
学校标语口号大全
2015/12/26 职场文书