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
相对路径转化成绝对路径
Apr 10 PHP
php include的妙用,实现路径加密
Jul 29 PHP
php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
May 09 PHP
解析关于wamp启动是80端口被占用的问题
Jun 21 PHP
Yii中CGridView关联表搜索排序方法实例详解
Dec 03 PHP
php计算多维数组中所有值总和的方法
Jun 24 PHP
PHP 读取文本文件内容并分页显示
Jan 02 PHP
最新版本PHP 7 vs HHVM 多角度比较
Feb 14 PHP
PHP动态生成指定大小随机图片的方法
Mar 25 PHP
phpcms中的评论样式修改方法
Oct 21 PHP
PHP高并发和大流量解决方案整理
Mar 09 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
SONY SRF-M100的电路分析
2021/03/02 无线电
php 数学运算验证码实现代码
2009/10/11 PHP
CodeIgniter启用缓存和清除缓存的方法
2014/06/12 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
[转]JS宝典学习笔记
2007/02/07 Javascript
jquery中输入验证中一个不错的效果
2010/08/21 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
JavaScript 反科里化 this [译]
2012/09/20 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
2013/02/01 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
Enter回车切换输入焦点实现思路与代码兼容各大浏览器
2014/09/01 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
2015/07/01 Javascript
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
Angularjs结合Bootstrap制作的一个TODO List
2016/08/18 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
利用bootstrapValidator验证UEditor
2016/09/14 Javascript
最常见的左侧分类菜单栏jQuery实现代码
2016/11/28 Javascript
[02:16]卖萌的僵尸 DOTA2神话信使飞僵小宝来袭
2014/03/24 DOTA
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python字符串替换的2种方法
2014/11/30 Python
理解Python中的With语句
2015/02/02 Python
python中global用法实例分析
2015/04/30 Python
Python出现segfault错误解决方法
2016/04/16 Python
matplotlib绘制动画代码示例
2018/01/02 Python
在Django model中设置多个字段联合唯一约束的实例
2019/07/17 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
2020/03/16 Python
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
建筑质检员岗位职责
2015/04/08 职场文书
同学联谊会邀请函
2019/06/24 职场文书
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
python可视化大屏库big_screen示例详解
2021/11/23 Python
SQLServer权限之只开启创建表权限
2022/04/12 SQL Server
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python
Python使用mitmproxy工具监控手机 下载手机小视频
2022/04/18 Python