PHP递归获取目录内所有文件的实现方法


Posted in PHP onNovember 01, 2016

如下所示:

/**
   * 递归获取文件夹内所有文件
   * 返回一个TREE结构的文件系统
   * @param string $dir
   * @param array $filter
   * @return array $files
   */
  function scan_dir($dir, $filter = array()){
    if(!is_dir($dir))return false;
    $files = array_diff(scandir($dir), array('.', '..'));
    if(is_array($files)){
      foreach($files as $key=>$value){
        if(is_dir($dir . '/' . $value)){
          $files[$value] = scan_dir($dir . '/' . $value, $filter);
          unset($files[$key]);
          continue;
        }
        $pathinfo = pathinfo($dir . '/' . $value);
        $extension = array_key_exists('extension', $pathinfo) ? $pathinfo['extension'] : '';
        if(!empty($filter) && !in_array($extension, $filter)){
          unset($files[$key]);
        }
      }
    }
    unset($key, $value);
    return $files;
  }

以上就是小编为大家带来的PHP递归获取目录内所有文件的实现方法全部内容了,希望大家多多支持三水点靠木~

PHP 相关文章推荐
php&java(一)
Oct 09 PHP
用PHP伪造referer突破网盘禁止外连的代码
Jun 15 PHP
php判断变量类型常用方法
Apr 24 PHP
PHP的一个完美GIF等比缩放类,附带去除缩放黑背景
Apr 01 PHP
PHP实现文件下载详解
Nov 27 PHP
php可生成缩略图的文件上传类实例
Dec 17 PHP
php模拟post提交数据的方法
Feb 12 PHP
PHP易混淆知识整理笔记
Sep 24 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
php使用变量动态创建类的对象用法示例
Feb 06 PHP
CI框架附属类用法分析
Dec 26 PHP
PDO::query讲解
Jan 29 PHP
php获得文件夹下所有文件的递归算法的简单实例
Nov 01 #PHP
ecshop适应在PHP7的修改方法解决报错的实现
Nov 01 #PHP
遍历echsop的region表形成缓存的程序实例代码
Nov 01 #PHP
CI框架无限级分类+递归的实现代码
Nov 01 #PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
Nov 01 #PHP
PHP之十六个魔术方法详细介绍
Nov 01 #PHP
php有效防止图片盗用、盗链的两种方法
Nov 01 #PHP
You might like
PHP中的CMS的涵义
2007/03/11 PHP
PHP查询数据库中满足条件的记录条数(两种实现方法)
2013/01/29 PHP
PHP连接access数据库
2015/03/27 PHP
php利用fsockopen GET/POST提交表单及上传文件
2017/05/22 PHP
Laravel6.0.4中将添加计划任务事件的方法步骤
2019/10/15 PHP
php+mysql实现的无限分类方法类定义与使用示例
2020/05/27 PHP
Javascript Jquery 遍历Json的实现代码
2010/03/31 Javascript
javaScript面向对象继承方法经典实现
2013/08/20 Javascript
jquery中animate动画积累的解决方法
2013/10/05 Javascript
scrollWidth,clientWidth,offsetWidth的区别
2015/01/13 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
详解JavaScript函数
2015/12/01 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
jQuery ajax请求struts action实现异步刷新
2017/04/19 jQuery
jQuery简单绑定单个事件的方法示例
2017/06/10 jQuery
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
详解vue移动端日期选择组件
2018/02/22 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
微信小程序的授权实现过程解析
2019/08/02 Javascript
vue实现路由不变的情况下,刷新页面操作示例
2020/02/02 Javascript
Vue使用预渲染代替SSR的方法
2020/07/02 Javascript
一起来了解一下JavaScript的预编译(小结)
2021/03/01 Javascript
python实现计算资源图标crc值的方法
2014/10/05 Python
理解Python中的With语句
2015/02/02 Python
python学习之编写查询ip程序
2016/02/27 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
2018/02/13 Python
Flask框架钩子函数功能与用法分析
2019/08/02 Python
简单介绍python封装的基本知识
2019/08/10 Python
python ETL工具 pyetl
2020/06/07 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
python statsmodel的使用
2020/12/21 Python
印尼极简主义和实惠的在线家具店:Fabelio
2019/03/27 全球购物
大学生饮食连锁店创业计划书
2014/01/17 职场文书
背起爸爸上学观后感
2015/06/08 职场文书
Requests什么的通通爬不了的Python超强反爬虫方案!
2021/05/20 Python
Golang 并发下的问题定位及解决方案
2022/03/16 Golang