пропустить директорию при обходе RecursiveIteratorIterator

CHEM_Eugene

Новичок
пропустить директорию при обходе RecursiveIteratorIterator

Мне нужно, чтобы директории "CVS" и "fckeditor" не обходились рекурсивно. Как этого добиться?
Пробовал вот так не получается.
PHP:
$ri = new RecursiveDirectoryIterator($this->dirname);
		
$rii = new RecursiveIteratorIterator($ri, true);
		
foreach ($rii as $item)
{
	if ($rii->getFilename() == "CVS" or $rii->getFilename() == "fckeditor") continue;
	echo "<div style='margin-left:". $rii->getDepth()*5 ."'>".$rii->getFilename()."</div>";
	flush();
}
В принципе сделал простой рекурсией, без итераторов. Но ответ на вопрос очень хотелось бы знать
 

crocodile2u

http://vbolshov.org.ru
Интересная штука.

Создал вот такой пример:

PHP:
$ri = new RecursiveDirectoryIterator(dirname(__FILE__));
$rri = new RecursiveRegexIterator($ri, "/\d/");
$rii = new RecursiveIteratorIterator($rri, RecursiveIteratorIterator::SELF_FIRST); 
         
foreach ($rii as $item) 
{ 
    echo "<div style='margin-left:". $rii->getDepth()*5 ."'>".$rii->getFilename()."</div>"; 
    flush(); 
}
Структура директории со скриптом:

Код:
.:
1  a  test.php

./1:
x

./1/x:
x.php

./a:
Скрипт выводит:
Код:
1
    x
        x.php
Хотя я, пожалуй, ожидал бы увидеть только
Код:
1
или, может быть,
Код:
1
    x
Какие еще соображения?
 
Сверху