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 相关文章推荐
什么是MVC,好东西啊
May 03 PHP
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
Oct 12 PHP
linux系统下php安装mbstring扩展的二种方法
Jan 20 PHP
关于js和php对url编码的处理方法
Mar 04 PHP
php进行支付宝开发中return_url和notify_url的区别分析
Dec 22 PHP
php根据日期或时间戳获取星座信息和生肖等信息
Oct 20 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
PHP+MySQL使用mysql_num_rows实现模糊查询图书信息功能
May 31 PHP
php工具型代码之印章抠图
Jul 18 PHP
php微信公众号开发之音乐信息
Oct 20 PHP
laravel 配置路由 api和web定义的路由的区别详解
Sep 03 PHP
PHP 使用位运算实现四则运算的代码
Mar 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
PHP入门学习笔记之一
2010/10/12 PHP
php计算两个文件相对路径的方法
2015/03/14 PHP
Symfony2开发之控制器用法实例分析
2016/02/05 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
js iframe跨域访问(同主域/非同主域)分别深入介绍
2013/01/24 Javascript
动态加载script文件的两种方法
2013/08/15 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
2013/12/14 Javascript
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
JS实现判断滚动条滚到页面底部并执行事件的方法
2014/12/18 Javascript
浅谈jquery中的each方法$.each、this.each、$.fn.each
2016/06/23 Javascript
AngularJS通过$http和服务器通信详解
2016/09/21 Javascript
原生JS实现简单放大镜效果
2017/02/08 Javascript
jsonp跨域请求实现示例
2017/03/13 Javascript
javascript编程实现栈的方法详解【经典数据结构】
2017/04/11 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
详解使用webpack构建多页面应用
2017/12/21 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
angularjs下ng-repeat点击元素改变样式的实现方法
2018/09/12 Javascript
webpack打包html里面img后src为“[object Module]”问题
2019/12/22 Javascript
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
Python基于pillow判断图片完整性的方法
2016/09/18 Python
解决pycharm界面不能显示中文的问题
2018/05/23 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
python使用folium库绘制地图点击框
2018/09/21 Python
浅析Windows 嵌入python解释器的过程
2019/07/26 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
python Canny边缘检测算法的实现
2020/04/24 Python
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
肯尼亚网上商城:Kilimall
2016/08/20 全球购物
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
俄罗斯品牌服装和鞋子的在线商店:KUPIVIP
2019/10/27 全球购物
绩效工资实施方案
2014/03/15 职场文书
医学生就业推荐表自我鉴定
2014/03/26 职场文书
退货证明模板
2015/06/23 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS
Django显示可视化图表的实践
2021/05/10 Python