解析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学习资源和链接.
Dec 05 PHP
php网站来路获取代码(针对搜索引擎)
Jun 08 PHP
PHP 反向排序和随机排序代码
Jun 30 PHP
浅析php中常量,变量的作用域和生存周期
Aug 10 PHP
php jq jquery getJSON跨域提交数据完整版
Sep 13 PHP
保存到桌面、设为桌面且带图标的PHP代码
Nov 19 PHP
preg_match_all使用心得分享
Jan 31 PHP
PHP中addcslashes与stripcslashes函数用法分析
Jan 07 PHP
PHP闭包函数传参及使用外部变量的方法
Mar 15 PHP
PHP针对多用户实现更换头像功能
Sep 04 PHP
详解如何实现Laravel的服务容器的方法示例
Apr 15 PHP
PHP观察者模式实例分析【对比JS观察者模式】
May 22 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正则走开
2008/03/15 PHP
php面向对象全攻略 (九)访问类型
2009/09/30 PHP
PHP性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
sql注入与转义的php函数代码
2013/06/17 PHP
PHP实现简单汉字验证码
2015/07/28 PHP
PHP7.3.10编译安装教程
2019/10/08 PHP
让innerHTML的脚本也可以运行起来
2006/07/01 Javascript
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
通过Jquery的Ajax方法读取将table转换为Json
2014/05/31 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
2014/08/08 Javascript
使用node.js 获取客户端信息代码分享
2014/11/26 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
js简单网速测试方法完整实例
2015/12/15 Javascript
js中最容易被忽视的事件问题大总结
2016/05/15 Javascript
Js查找字符串中出现次数最多的字符及个数实例解析
2016/09/05 Javascript
js中json处理总结之JSON.parse
2016/10/14 Javascript
jQuery和JavaScript节点插入元素的方法对比
2016/11/18 Javascript
vue路由对不同界面进行传参及跳转的总结
2019/04/20 Javascript
ionic2.0双击返回键退出应用
2019/09/17 Javascript
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
python 爬虫 批量获取代理ip的实例代码
2018/05/22 Python
新年快乐! python实现绚烂的烟花绽放效果
2019/01/30 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
TensorFlow-gpu和opencv安装详细教程
2020/06/30 Python
Python+unittest+requests+excel实现接口自动化测试框架
2020/12/23 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
css3的过滤效果简单实例
2016/08/03 HTML / CSS
阿迪达斯希腊官方网上商店:adidas希腊
2019/04/06 全球购物
机械系大学毕业生推荐信
2013/11/27 职场文书
行政司机岗位职责
2015/04/10 职场文书
学校节水倡议书
2015/04/29 职场文书
《7的乘法口诀》教学反思
2016/02/18 职场文书