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 相关文章推荐
浅谈Windows下 PHP4.0与oracle 8的连接设置
Oct 09 PHP
PHP SQLite类
May 07 PHP
PHP CKEditor 上传图片实现代码
Nov 06 PHP
php实现首页链接查询 友情链接检查的代码
Jan 05 PHP
有关JSON以及JSON在PHP中的应用
Apr 09 PHP
国外比较好的几个的Php开源建站平台小结
Apr 22 PHP
PHP include_path设置技巧分享
Jul 03 PHP
php随机显示图片的简单示例
Feb 15 PHP
php获取文件大小的方法
Feb 26 PHP
PHP添加图片水印、压缩、剪切的封装类
Aug 17 PHP
php阳历转农历优化版
Aug 08 PHP
Yii2选项卡的简单使用
May 26 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编程语言开发动态WAP页面
2006/10/09 PHP
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
解读PHP中的垃圾回收机制
2015/08/10 PHP
php中输出json对象的值(实现方法)
2018/03/07 PHP
php实现分页功能的详细实例方法
2019/09/29 PHP
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
JavaScript之HTMLCollection接口代码
2011/04/27 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
JS获取月的最后一天与JS得到一个月份最大天数的实例代码
2013/12/16 Javascript
js实现具有高亮显示效果的多级菜单代码
2015/09/01 Javascript
Angular 中 select指令用法详解
2016/09/29 Javascript
vue+vux实现移动端文件上传样式
2017/07/28 Javascript
Angularjs cookie 操作实例详解
2017/09/27 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
Vue实现Layui的集成方法步骤
2020/04/10 Javascript
JS端基于download.js实现图片、视频时直接下载而不是打开预览
2020/05/09 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
聊聊vue 中的v-on参数问题
2021/01/29 Vue.js
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
教你用 Python 实现微信跳一跳(Mac+iOS版)
2018/01/04 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
python实现复制大量文件功能
2019/08/31 Python
python3 图片 4通道转成3通道 1通道转成3通道 图片压缩实例
2019/12/03 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
Python pexpect模块及shell脚本except原理解析
2020/08/03 Python
python爬虫利器之requests库的用法(超全面的爬取网页案例)
2020/12/17 Python
CSS3教程:background-clip和background-origin
2008/10/17 HTML / CSS
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
小学生放飞梦想演讲稿
2014/08/26 职场文书
家庭教育的心得体会
2014/09/01 职场文书
中职毕业生自我鉴定范文(3篇)
2014/09/28 职场文书
2015年师德师风自我评价范文
2015/03/05 职场文书
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL