我使用的是:
class MyRecursiveFilterIterator extends RecursiveFilterIterator {
public static $FILTERS = array(
'.htaccess',
'.html',
);
public function accept() {
return !in_array(
$this->current()->getFilename(),
self::$FILTERS,
true
);
}
}
$iterator = new RecursiveDirectoryIterator($dir);
$iterator->setFlags(RecursiveDirectoryIterator::SKIP_DOTS);
$filter = new MyRecursiveFilterIterator($iterator);
$all_files = new RecursiveIteratorIterator($filter,RecursiveIteratorIterator::SELF_FIRST);
列出指定$ dir路径中的所有文件和文件夹。
MyRecursiveFilterIterator扩展默认的RecursiveFilterIterator并排除某些文件扩展名,如.htaccess和html。现在我想添加只显示某些文件类型的功能,如.jpg,.png以及保留被排除的文件类型。