解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)


Posted in PHP onJune 18, 2013

<?php
 class RecursiveFileFilterIterator extends FilterIterator {
     // 满足条件的扩展名
     protected $ext = array('jpg','gif');

     /**
      * 提供 $path 并生成对应的目录迭代器
      */
     public function __construct($path) {
         parent::__construct(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)));
     }

     /**
      * 检查文件扩展名是否满足条件
      */
     public function accept() {
         $item = $this->getInnerIterator();
         if ($item->isFile() && 
                 in_array(pathinfo($item->getFilename(), PATHINFO_EXTENSION), $this->ext)) {
             return TRUE;
         }
     }
 }

 // 实例化
 foreach (new RecursiveFileFilterIterator('D:/history') as $item) {
     echo $item . PHP_EOL;
 }

PHP 相关文章推荐
一段php加密解密的代码
Oct 09 PHP
PHP5 面向对象程序设计
Feb 13 PHP
apache配置虚拟主机的方法详解
Jun 17 PHP
使用php统计字符串中中英文字符的个数
Jun 23 PHP
php+js iframe实现上传头像界面无跳转
Apr 29 PHP
php查询相似度最高的字符串的方法
Mar 12 PHP
PHP二维数组矩形转置实例
Jul 20 PHP
PHP+Ajax异步带进度条上传文件实例
Nov 01 PHP
简述php环境搭建与配置
Dec 05 PHP
PHP实现一维数组与二维数组去重功能示例
May 24 PHP
php微信公众号开发之二级菜单
Oct 20 PHP
php中的依赖注入实例详解
Aug 14 PHP
360通用php防护代码(使用操作详解)
Jun 18 #PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
Jun 18 #PHP
解析PHP计算页面执行时间的实现代码
Jun 18 #PHP
php实现简单洗牌算法
Jun 18 #PHP
php抽奖小程序的实现代码
Jun 18 #PHP
解析PHP生成静态html文件的三种方法
Jun 18 #PHP
解析PHP汉字转换拼音的类
Jun 18 #PHP
You might like
PHP Pear 安装及使用
2009/03/19 PHP
PHP截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
session在php5.3中的变化 session_is_registered() is deprecated in
2013/11/12 PHP
php实现文件下载(支持中文文名)
2013/12/04 PHP
PHP四大安全策略
2014/03/12 PHP
基于PHP+Mysql简单实现了图书购物车系统的实例详解
2020/08/06 PHP
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
ExtJs使用总结(非常详细)
2012/03/22 Javascript
提示$ is not defined错误分析及解决
2013/04/09 Javascript
JS获取几种URL地址的方法小结
2014/02/26 Javascript
js实现回放拖拽轨迹从过程上进行分析
2014/06/26 Javascript
JavaScript搜索字符串并将搜索结果返回到字符串的方法
2015/04/06 Javascript
JQuery 的跨域方法推荐_可跨任何网站
2016/05/18 Javascript
Ajax基础知识详解
2017/02/17 Javascript
js实现HTML中Select二级联动的实例
2018/01/05 Javascript
angularJS自定义directive之带参方法传递详解
2018/10/09 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
微信小程序批量监听输入框对按钮样式进行控制的实现代码
2019/10/12 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
vue使用过滤器格式化日期
2021/01/20 Vue.js
js实现简单图片拖拽效果
2021/02/22 Javascript
[59:35]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第二局
2016/03/04 DOTA
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[57:31]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第一场 2月1日
2021/03/11 DOTA
python通过自定义isnumber函数判断字符串是否为数字的方法
2015/04/23 Python
在Python中使用模块的教程
2015/04/27 Python
批量将ppt转换为pdf的Python代码 只要27行!
2018/02/26 Python
Python实现生成密码字典的方法示例
2019/09/02 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
加拿大百叶窗和窗帘定制网站:Blinds
2017/01/30 全球购物
优秀演讲稿范文
2013/12/29 职场文书
运动会稿件300字
2014/02/14 职场文书
社团活动总结
2014/04/28 职场文书
法制宣传月活动总结
2014/04/29 职场文书
小学生作文之《压岁钱的烦恼》
2019/09/27 职场文书
Feign调用全局异常处理解决方案
2021/06/24 Java/Android