解析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+MSSQL分页的例子
Oct 09 PHP
source.php查看源文件
Dec 09 PHP
php中变量及部分适用方法
Mar 27 PHP
PHP防注入安全代码
Apr 09 PHP
PHP array操作10个小技巧分享
Jun 23 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
Jun 12 PHP
linux下编译安装memcached服务
Aug 03 PHP
PHP-FPM之Chroot执行环境详解
Aug 03 PHP
php实现阳历阴历互转的方法
Oct 28 PHP
php 如何获取文件的后缀名
Jun 05 PHP
thinkPHP5.0框架开发规范简介
Mar 25 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
Apr 15 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
mac下使用brew配置环境的步骤分享
2011/05/23 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
使用jQuery的将桌面应用程序引入浏览器
2010/11/19 Javascript
Javascript 异步加载详解(浏览器在javascript的加载方式)
2012/05/20 Javascript
JavaScript中的DSL元编程介绍
2015/03/15 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
2015/05/26 Javascript
JavaScript中setTimeout的那些事儿
2016/11/14 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
Javacript中自定义的map.js  的方法
2017/11/26 Javascript
jQuery动态移除与增加onclick属性的方法详解
2018/06/07 jQuery
laypage.js分页插件使用方法详解
2019/07/27 Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
2019/09/02 Javascript
python自动安装pip
2014/04/24 Python
讲解Python中fileno()方法的使用
2015/05/24 Python
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
举例区分Python中的浅复制与深复制
2015/07/02 Python
Python中的数学运算操作符使用进阶
2016/06/20 Python
Python实现读取并保存文件的类
2017/05/11 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
python3爬虫怎样构建请求header
2018/12/23 Python
python 计算数据偏差和峰度的方法
2019/06/29 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
Python-numpy实现灰度图像的分块和合并方式
2020/01/09 Python
Python线程threading模块用法详解
2020/02/26 Python
Mac中PyCharm配置Anaconda环境的方法
2020/03/04 Python
解决运行出现'dict' object has no attribute 'has_key'问题
2020/07/15 Python
出纳员岗位责任制
2014/02/11 职场文书
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
内蒙古鄂尔多斯市市长寄语
2014/04/10 职场文书
春节联欢会策划方案
2014/05/16 职场文书
道德演讲稿
2014/05/21 职场文书
结对共建工作方案
2014/06/02 职场文书
2014年药剂科工作总结
2014/11/26 职场文书
超级详细实用的pycharm常用快捷键
2021/05/12 Python
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
2021/06/03 Python
python如何读取和存储dict()与.json格式文件
2022/06/25 Python