解析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代码
Feb 16 PHP
PHP 学习路线与时间表
Feb 21 PHP
php预定义变量使用帮助(带实例)
Oct 30 PHP
ThinkPHP实现事务回滚示例代码
Jun 23 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
Jun 30 PHP
php过滤HTML标签、属性等正则表达式汇总
Sep 22 PHP
PHP中的一些常用函数收集
May 26 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
Nov 05 PHP
php图像处理函数imagecopyresampled用法详解
Dec 02 PHP
thinkphp 字母函数详解T/I/N/D/M/A/R/U
Apr 03 PHP
PHP命名空间与自动加载机制的基础介绍
Aug 25 PHP
Laravel 集成微信用户登录和绑定的实现
Dec 27 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常用的文件操作函数经典收藏
2013/04/02 PHP
php递归使用示例(php递归函数)
2014/02/14 PHP
PHP、Nginx、Apache中禁止网页被iframe引用的方法
2020/10/01 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
JavaScript国旗变换效果代码
2008/08/13 Javascript
jQuery dialog 异步调用ashx,webservice数据的代码
2010/08/03 Javascript
window.event快达到全浏览器支持了,以后使用就方便了
2011/11/30 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
Jquery同辈元素选中/未选中效果的实例代码
2013/08/01 Javascript
javascript基础知识
2016/06/07 Javascript
TypeScript学习之强制类型的转换
2016/12/27 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
2017/03/15 Javascript
vue webpack实用技巧总结
2018/04/24 Javascript
Vue与Node.js通过socket.io通信的示例代码
2018/07/25 Javascript
JQuery Ajax动态加载Table数据的实例讲解
2018/08/09 jQuery
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
浅谈Python 中整型对象的存储问题
2016/05/16 Python
快速排序的算法思想及Python版快速排序的实现示例
2016/07/02 Python
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
python可视化实现代码
2019/01/15 Python
Python实现自动装机功能案例分析
2020/10/22 Python
Opencv 图片的OCR识别的实战示例
2021/03/02 Python
美国优质马术服装购买网站:Breeches.com
2019/12/16 全球购物
JYSK加拿大:购买家具、床垫、家居装饰等
2020/02/14 全球购物
Android interview questions
2016/12/25 面试题
上海期货面试题
2014/01/31 面试题
职业规划书如何设计?
2014/01/09 职场文书
运动会邀请函范文
2014/02/06 职场文书
药学专业学生的自我评价分享
2014/02/06 职场文书
安全教育月活动总结
2014/05/05 职场文书
房产销售独家委托书范本
2014/10/01 职场文书
opencv深入浅出了解机器学习和深度学习
2022/03/17 Python
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python