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 相关文章推荐
珊瑚虫IP库浅析
Feb 15 PHP
php array_pop()数组函数将数组最后一个单元弹出(出栈)
Jul 12 PHP
PHP设计模式之责任链模式的深入解析
Jun 13 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
Jul 09 PHP
thinkphp如何获取客户端IP
Nov 03 PHP
PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
Nov 15 PHP
CI框架实现cookie登陆的方法详解
May 18 PHP
解读PHP中上传文件的处理问题
May 29 PHP
Yii2实现上下联动下拉框功能的方法
Aug 10 PHP
PHP命令行执行整合pathinfo模拟定时任务实例
Aug 12 PHP
php函数式编程简单示例
Aug 08 PHP
thinkphp框架使用JWTtoken的方法详解
Oct 10 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
postfixadmin忘记密码后的修改密码方法详解
2016/07/20 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
2017/04/15 PHP
Yii框架引入coreseek分页功能示例
2019/02/08 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
javascript间隔定时器(延时定时器)学习 间隔调用和延时调用
2014/01/13 Javascript
RequireJS入门一之实现第一个例子
2015/09/30 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
2016/04/27 Javascript
JavaScript基础知识点归纳(推荐)
2016/07/09 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
微信小程序 wx.uploadFile无法上传解决办法
2016/12/14 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
AngularJS 验证码60秒倒计时功能的实现
2017/06/05 Javascript
js精确的加减乘除实例
2017/11/14 Javascript
微信小程序实现图片压缩功能
2018/01/26 Javascript
AngularJS $http post 传递参数数据的方法
2018/10/09 Javascript
JS实现基本的网页计算器功能示例
2020/01/16 Javascript
[55:35]VGJ.S vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python匹配中文的正则表达式
2016/05/11 Python
利用Python实现图书超期提醒
2016/08/02 Python
Python使用pymysql从MySQL数据库中读出数据的方法
2018/07/25 Python
Python语言快速上手学习方法
2018/12/14 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
美国在线购买内衣网站:HerRoom
2020/02/22 全球购物
体育专业个人求职信范文
2013/12/27 职场文书
索桥的故事教学反思
2014/02/06 职场文书
《自选商场》教学反思
2014/02/14 职场文书
三严三实对照检查材料
2014/09/22 职场文书
2015年企业新年寄语
2014/12/08 职场文书
后进生评语大全
2015/01/04 职场文书
关于Javascript闭包与应用的详解
2021/04/22 Javascript
pytorch中[..., 0]的用法说明
2021/05/20 Python
Mysql 用户权限管理实现
2021/05/25 MySQL
Android开发实现极为简单的QQ登录页面
2022/04/24 Java/Android