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 expects parameter 1 to be resource, array given 错误
Mar 23 PHP
解析ajax事件的调用顺序
Jun 17 PHP
在PHP中使用redis
Nov 04 PHP
PHP实现获取图片颜色值的方法
Jul 11 PHP
phpmyadmin中禁止外网使用的方法
Nov 04 PHP
利用PHP将部分内容用星号替换
Apr 21 PHP
PHP错误Warning:mysql_query()解决方法
Oct 24 PHP
crontab无法执行php的解决方法
Jan 25 PHP
Yii CGridView用法实例详解
Jul 12 PHP
Yii数据模型中rules类验证器用法分析
Jul 15 PHP
php与python实现的线程池多线程爬虫功能示例
Oct 12 PHP
PHP编程快速实现数组去重的方法详解
Jul 22 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
一个程序下载的管理程序(三)
2006/10/09 PHP
php自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
php中出现空白页的原因及解决方法汇总
2014/07/08 PHP
php读取flash文件高宽帧数背景颜色的方法
2015/01/06 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法
2016/05/31 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
thinkPHP5分页功能实现方法分析
2017/10/25 PHP
javascript写的日历类(基于pj)
2010/12/28 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
php读取sqlite数据库入门实例代码
2014/06/25 Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
2015/06/04 Javascript
javascript设置和获取cookie的方法实例详解
2016/01/05 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
2017/03/02 Javascript
jQuery实现表格隔行换色
2018/09/01 jQuery
JS实现倒序输出的几种常用方法示例
2019/04/13 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
[01:51]历届DOTA2国际邀请赛举办地回顾 TI9落地上海
2018/08/26 DOTA
python小技巧之批量抓取美女图片
2014/06/06 Python
将Python中的数据存储到系统本地的简单方法
2015/04/11 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
2015/04/18 Python
Python抓取框架 Scrapy的架构
2016/08/12 Python
总结python实现父类调用两种方法的不同
2017/01/15 Python
在Python中实现shuffle给列表洗牌
2018/11/08 Python
解决django同步数据库的时候app models表没有成功创建的问题
2019/08/09 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
基于spring boot 日志(logback)报错的解决方式
2020/02/20 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
Python如何将装饰器定义为类
2020/07/30 Python
基于HTML5的WebSocket的实例代码
2018/08/15 HTML / CSS
html5 Canvas实现图片旋转的示例
2018/01/15 HTML / CSS
联想美国官方商城:Lenovo美国
2017/06/19 全球购物
自我鉴定写作要点
2014/01/17 职场文书
移交协议书
2014/08/19 职场文书
导游经典开场白——导游词
2019/04/17 职场文书