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 各种排序算法实现代码
Aug 20 PHP
windows下开发并编译PHP扩展的方法
Mar 18 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
Nov 01 PHP
解析PHP对现有搜索引擎的调用
Jun 25 PHP
PHP实现无限极分类图文教程
Nov 25 PHP
php目录拷贝实现方法
Jul 10 PHP
简述php环境搭建与配置
Dec 05 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
Jun 10 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
Feb 08 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
Apr 02 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 PHP
Laravel使用RabbitMQ的方法示例
Jun 18 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 程序员的调试技术小结
2009/11/15 PHP
Php图像处理类代码分享
2012/01/19 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
yii分页组件用法实例分析
2015/12/28 PHP
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
2010/04/15 Javascript
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
JS面向对象编程之对象使用分析
2010/08/19 Javascript
jQuery使用$.get()方法从服务器文件载入数据实例
2015/03/25 Javascript
js实现兼容性好的微软官网导航下拉菜单效果
2015/09/07 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
Bootstrap模态框案例解析
2017/03/05 Javascript
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
three.js实现3D视野缩放效果
2017/11/16 Javascript
js屏蔽F12审查元素,禁止修改页面代码等实现代码
2020/10/02 Javascript
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Python 基础教程之闭包的使用方法
2017/09/29 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
2018/01/04 Python
Python编程求解二叉树中和为某一值的路径代码示例
2018/01/04 Python
python将回车作为输入内容的实例
2018/06/23 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
Python3实现的判断回文链表算法示例
2019/03/08 Python
Python对列表的操作知识点详解
2019/08/20 Python
python实现简单成绩录入系统
2019/09/19 Python
Python基于BeautifulSoup爬取京东商品信息
2020/06/01 Python
为什么称python为胶水语言
2020/06/16 Python
python用Configobj模块读取配置文件
2020/09/26 Python
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
总经理司机岗位职责
2014/02/06 职场文书
推荐信模板
2014/05/09 职场文书
心理咨询专业自荐信
2014/07/07 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
白银帝国观后感
2015/06/17 职场文书
2015年科普工作总结
2015/07/23 职场文书
《秋思》教学反思
2016/02/23 职场文书