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 相关文章推荐
PHPMailer邮件类利用smtp.163.com发送邮件方法
Sep 11 PHP
PHP合并数组+与array_merge的区别分析
Aug 01 PHP
PHP session会话的安全性分析
Sep 08 PHP
PHP 图片上传代码
Sep 13 PHP
php实现的发送带附件邮件类实例
Sep 22 PHP
PHP编写daemon process详解及实例代码
Sep 30 PHP
PHP数组操作实例分析【添加,删除,计算,反转,排序,查找等】
Dec 24 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
php中pcntl_fork创建子进程的方法实例
Mar 14 PHP
PHP 文件上传限制问题
Sep 01 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
Nov 24 PHP
PHP 时间处理类Carbon
May 20 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发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
2014/01/03 PHP
浅谈PHP正则中的捕获组与非捕获组
2016/07/18 PHP
php中10个不同等级压缩优化图片操作示例
2016/11/14 PHP
php利用嵌套数组拼接与解析json的方法
2017/02/07 PHP
浅析PHP7的多进程及实例源码
2019/04/14 PHP
php封装的pdo数据库操作工具类与用法示例
2019/05/08 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
jquery如何实现锚点链接之间的平滑滚动
2013/12/02 Javascript
js中settimeout方法加参数
2014/02/28 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
javascript框架设计之框架分类及主要功能
2015/06/23 Javascript
js实现网页多级级联菜单代码
2015/08/20 Javascript
jQuery实现仿QQ在线客服效果的滚动层代码
2015/10/15 Javascript
javascript实现在网页中运行本地程序的方法
2016/02/03 Javascript
JS实现控制文本框的内容
2016/07/10 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
2016/10/19 Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
2016/11/17 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
js排序与重组的实例讲解
2017/08/28 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
jQuery实现的点击图片居中放大缩小功能示例
2019/01/16 jQuery
小程序使用分包的示例代码
2020/03/23 Javascript
django使用admin站点上传图片的实例
2019/07/28 Python
Python实现语音识别和语音合成功能
2019/09/20 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
PyTorch和Keras计算模型参数的例子
2020/01/02 Python
Pytorch 实现计算分类器准确率(总分类及子分类)
2020/01/18 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
canvas画布实现手写签名效果的示例代码
2019/04/23 HTML / CSS
屈臣氏官方旗舰店:亚洲享负盛名的保健及美妆零售商
2019/03/15 全球购物
Elemental Herbology官网:英国美容品牌
2019/04/27 全球购物
保护环境演讲稿
2014/05/10 职场文书
联谊活动总结
2014/08/28 职场文书
大学生自我推荐信范文
2015/03/24 职场文书
源码安装apache脚本部署过程详解
2022/09/23 Servers