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中使用Oracle数据库(5)
Oct 09 PHP
怎样在UNIX系统下安装php3
Oct 09 PHP
随时给自己贴的图片加文字的php代码
Mar 08 PHP
php array_intersect()函数使用代码
Jan 14 PHP
PHP模块 Memcached功能多于Memcache
Jun 14 PHP
分享PHP header函数使用教程
Sep 05 PHP
php与flash as3 socket通信传送文件实现代码
Aug 16 PHP
php使用str_replace实现输入框回车替换br的方法
Nov 24 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
Jun 20 PHP
Yii2语言国际化自动配置详解
Aug 22 PHP
php的RSA加密解密算法原理与用法分析
Jan 23 PHP
PHP二维数组分页2种实现方法解析
Jul 09 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
苏联队长,苏联超人蝙蝠侠,这些登场的“山寨”英雄真的很严肃
2020/04/09 欧美动漫
PHP仿博客园 个人博客(2) 数据库增添改删
2013/07/05 PHP
PHP时间戳 strtotime()使用方法和技巧
2013/10/29 PHP
php后门URL的防范
2013/11/12 PHP
Yii中使用PHPExcel导出Excel的方法
2014/12/26 PHP
PHP使用array_merge重新排列数组下标的方法
2015/07/22 PHP
如何优雅的使用 laravel 的 validator验证方法
2018/11/11 PHP
jQuery获取当前对象标签名称的方法
2014/02/07 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
webuploader模态框ueditor显示问题解决方法
2016/12/27 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
2018/08/10 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
JS module的导出和导入的实现代码
2019/02/25 Javascript
javascript实现自由编辑图片代码详解
2019/06/21 Javascript
VUE的history模式下除了index外其他路由404报错解决办法
2019/08/21 Javascript
Vue页面刷新记住页面状态的实现
2019/12/27 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
pycharm 使用心得(七)一些实用功能介绍
2014/06/06 Python
Python装饰器原理与用法分析
2018/04/30 Python
详解python中的装饰器
2018/07/10 Python
python得到一个excel的全部sheet标签值方法
2018/12/10 Python
python远程调用rpc模块xmlrpclib的方法
2019/01/11 Python
python使用正则筛选信用卡
2019/01/27 Python
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
Pytorch 多维数组运算过程的索引处理方式
2019/12/27 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
阿德的梦教学反思
2014/02/06 职场文书
幼儿园亲子活动总结
2014/04/26 职场文书
十二生肖观后感
2015/06/12 职场文书
暂住证证明
2015/06/19 职场文书
超市主管竞聘书
2015/09/15 职场文书
高中班主任培训心得体会
2016/01/07 职场文书
yolov5返回坐标的方法实例
2022/03/17 Python