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 Ubb代码编辑器函数代码
Jul 05 PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 PHP
浅析php中jsonp的跨域实例
Jun 21 PHP
PHP反向代理类代码
Aug 15 PHP
PHP实现取得HTTP请求的原文
Aug 18 PHP
PHP防盗链代码实例
Aug 27 PHP
smarty实现多级分类的方法
Dec 05 PHP
php+ajax实现无刷新动态加载数据技术
Apr 28 PHP
smarty高级特性之过滤器的使用方法
Dec 25 PHP
twig模板常用语句实例小结
Feb 04 PHP
php简单实现单态设计模式的方法分析
Jul 28 PHP
PHP 并发场景的几种解决方案
Jun 14 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实现双链表删除与插入节点的方法示例
2017/11/11 PHP
PHP信号处理机制的操作代码讲解
2019/04/19 PHP
javascript for循环设法提高性能
2010/02/24 Javascript
纯JAVASCRIPT图表动画插件Highcharts Examples
2011/04/16 Javascript
ajax不执行success回调而是执行了error回调
2012/12/10 Javascript
JS链式调用的实现方法
2013/03/07 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
JS实现固定在右下角可展开收缩DIV层的方法
2015/02/13 Javascript
ECMAScript5(ES5)中bind方法使用小结
2015/05/07 Javascript
Javascript函数的参数
2015/07/16 Javascript
jQuery+PHP实现微信转盘抽奖功能的方法
2016/05/25 Javascript
AngularJS基础 ng-mouseover 指令简单示例
2016/08/02 Javascript
浅析Ajax语法
2016/12/05 Javascript
jQuery实现字符串全部替换的方法
2016/12/12 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
在Python中操作字典之clear()方法的使用
2015/05/21 Python
python数据结构之图深度优先和广度优先实例详解
2015/07/08 Python
Python中import机制详解
2017/11/14 Python
Python处理菜单消息操作示例【基于win32ui模块】
2018/05/09 Python
python实现随机漫步方法和原理
2019/06/10 Python
解决django后台样式丢失,css资源加载失败的问题
2019/06/11 Python
OpenCV python sklearn随机超参数搜索的实现
2020/01/17 Python
Python 面向对象部分知识点小结
2020/03/09 Python
解决pycharm中的run和debug失效无法点击运行
2020/06/09 Python
Python3.8安装Pygame教程步骤详解
2020/08/14 Python
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
Liu Jo西班牙官网:意大利服装品牌
2019/09/11 全球购物
Java中的类包括什么内容?设计时要注意哪些方面
2012/05/23 面试题
年终总结会议主持词
2014/03/17 职场文书
关于长城的导游词
2015/01/30 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js
pnpm对npm及yarn降维打击详解
2022/08/05 Javascript