|
class RecursiveFileFilterIterator extends FilterIterator {
// 滿足條件的擴(kuò)展名
protected $ext = array('jpg','gif');
/**
* 提供 $path 并生成對(duì)應(yīng)的目錄迭代器
*/
public function __construct($path) {
parent::__construct(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path)));
}
/**
* 檢查文件擴(kuò)展名是否滿足條件
*/
public function accept() {
$item = $this->getInnerIterator();
if ($item->isFile() &&
in_array(pathinfo($item->getFilename(), PATHINFO_EXTENSION), $this->ext)) {
return TRUE;
}
}
}
// 實(shí)例化
foreach (new RecursiveFileFilterIterator('D:/history') as $item) {
echo $item . php_EOL;
}
php技術(shù):解析PHP SPL標(biāo)準(zhǔn)庫的用法(遍歷目錄,查找固定條件的文件),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。