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&amp;java(三)
Oct 09 PHP
php Undefined index的问题
Jun 01 PHP
解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
Jun 18 PHP
PHP中的函数-- foreach()的用法详解
Jun 24 PHP
php实现图片添加水印功能
Feb 13 PHP
php递归方法实现无限分类实例代码
Feb 28 PHP
采用ThinkPHP中F方法实现快速缓存实例
Jun 13 PHP
简单解决新浪SAE无法上传文件的问题
May 13 PHP
thinkphp框架实现数据添加和显示功能
Jun 29 PHP
PHP简单判断iPhone、iPad、Android及PC设备的方法
Oct 11 PHP
PHP进阶学习之垃圾回收机制详解
Jun 18 PHP
PHP标准库 (SPL)――Countable用法示例
Jun 05 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中的时间处理
2006/10/09 PHP
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
数据库的日期格式转换
2006/10/09 PHP
phpfans留言版用到的install.php
2007/01/04 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
php写入文件不覆盖的实例讲解
2019/09/17 PHP
EasySlider 基于jQuery功能强大简单易用的滑动门插件
2010/06/11 Javascript
再谈javascript面向对象编程
2012/03/18 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
js canvas实现简单的图像扩散效果
2020/06/28 Javascript
原生js中ajax访问的实例详解
2017/09/19 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
解决layui-open关闭自身窗口的问题
2019/09/10 Javascript
nodejs使用Sequelize框架操作数据库的实现
2020/10/21 NodeJs
[40:03]RNG vs VG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
pycharm中连接mysql数据库的步骤详解
2017/05/02 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
Python实现的FTP通信客户端与服务器端功能示例
2018/03/28 Python
Python中一行和多行import模块问题
2018/04/01 Python
numpy找出array中的最大值,最小值实例
2018/04/03 Python
Python实现的调用C语言函数功能简单实例
2019/03/13 Python
手把手教你安装Windows版本的Tensorflow
2020/03/26 Python
Django values()和value_list()的使用
2020/03/31 Python
html5自动播放mov格式视频的实例代码
2020/01/14 HTML / CSS
阿玛瑞酒店中文官方网站:Amari.com
2018/02/13 全球购物
德国旅游网站:weg.de
2018/06/03 全球购物
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
.NET面试10题
2014/02/24 面试题
冰淇淋店的创业计划书
2014/02/07 职场文书
个人年终总结开头
2015/03/06 职场文书
行政处罚事先告知书
2015/07/01 职场文书
丧事酒宴答谢词
2015/09/30 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript
MySQL 不等于的三种使用及区别
2021/06/03 MySQL
nginx七层负载均衡配置详解
2022/07/15 Servers