解析PHP SPL标准库的用法(遍历目录,查找固定条件的文件)
更新时间:2013年06月18日 15:59:01 作者:
本篇文章是对PHP中SPL标准库的用法进行了详细的分析介绍,需要的朋友参考下
<?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;
}
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设计模式之 策略模式Strategy详解【对象行为型】
这篇文章主要介绍了PHP设计模式之 策略模式Strategy,结合实例形式详细分析了PHP基于对象行为型的策略模式Strategy具体原理、实现技巧与相关操作注意事项,需要的朋友可以参考下2020-05-05
php下foreach提示Warning:Invalid argument supplied for foreach()
这篇文章主要介绍了php下foreach提示Warning:Invalid argument supplied for foreach()的解决方法,是很多开发者在进行PHP程序设计的过程中经常会遇到的问题,需要的朋友可以参考下2014-11-11
php 的加密函数 md5,crypt,base64_encode 等使用介绍
php 在做注册、登录或是url 传递参数时都会用到 字符变量的加密,下面我们就来简单的介绍下:php 自带的加密函数2012-04-04


最新评论