PHP
—
教程 PHP SPL 标准库的用法(遍历目录,查找固定条件的
文件)
以下是对 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;
}