解析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 相关文章推荐
IIS下配置Php+Mysql+zend的图文教程
Dec 08 PHP
将文件夹压缩成zip文件的php代码
Dec 14 PHP
php 获取当前访问的url文件名的方法小结
Feb 08 PHP
PHP 页面编码声明方法详解(header或meta)
Mar 12 PHP
php环境无法上传文件的解决方法
Apr 30 PHP
php使用百度ping服务代码实例
Jun 19 PHP
分享php分页的功能模块
Jun 16 PHP
PHP开发Apache服务器配置
Jul 15 PHP
PHP实现多关键字加亮功能
Oct 21 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
实例分析PHP中PHPMailer发邮件
Dec 13 PHP
PHP使用QR Code生成二维码实例
Jul 07 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 fckeditor 调用的函数
2009/06/21 PHP
PHP spl_autoload_register实现自动加载研究
2011/12/06 PHP
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
php四种基础算法代码实例
2013/10/29 PHP
PHP封装的完整分页类示例
2018/08/21 PHP
Firefox div高度自适应
2009/04/28 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
2014/09/03 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
Javascript this 函数深入详解
2016/12/13 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
快速掌握jquery分页插件jqPaginator的使用方法
2017/08/09 jQuery
浅谈在node.js进入文件目录的问题
2018/05/13 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
对vuejs的v-for遍历、v-bind动态改变值、v-if进行判断的实例讲解
2018/08/27 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
layui动态绑定事件的方法
2019/09/20 Javascript
vue学习笔记之slot插槽用法实例分析
2020/02/29 Javascript
Python利用flask sqlalchemy实现分页效果
2020/08/02 Python
python3使用requests模块爬取页面内容的实战演练
2017/09/25 Python
在PyCharm下使用 ipython 交互式编程的方法
2019/01/17 Python
python中while和for的区别总结
2019/06/28 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
python RSA加密的示例
2020/12/09 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
CSS 说明横向进度条最后显示文字的实现代码
2020/11/10 HTML / CSS
美国知名珠宝首饰品牌:Gemvara
2017/10/06 全球购物
品恩科技软件测试面试题
2014/10/26 面试题
高中生期末评语
2014/01/28 职场文书
材料专业毕业生求职信
2014/02/26 职场文书
消防安全宣传标语
2014/06/07 职场文书
兽医医药专业求职信
2014/07/27 职场文书
干部培训简讯
2015/07/20 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android
Linux下搭建SFTP服务器的命令详解
2022/06/25 Servers