实例代码:
<?php
class ExtentionFinder extends FilterIterator
{
public $predicate, $path;
public function __construct($path, $predicate)
{
$this->predicate = $predicate;
$this->path = $path;
$it = new RecursiveDirectoryIterator($path);
$flatIterator = new RecursiveIteratorIterator($it);
parent::__construct($flatIterator);
}
public function accept()
{
$pathInfo = pathinfo($this->current());
$extension = $pathInfo['extension'];
return ($extension == $this->predicate);
}
}
?>
<?php
$it = new ExtentionFinder('./', 'php');
foreach($it as $value)
{
echo $value."<br/>";
}
?>