
RecursiveCallbackFilterIterator::__construct 메서드는 callback 함수를 통해 필터링을 수행하고, 재귀적으로 반복자를 생성합니다.
callback 함수의 인자는 반복자 객체의 현재 항목을 받습니다.
callback 함수의 반환 값은 boolean 값이어야 합니다.
true를 반환하면 현재 항목을 필터링에 포함시키고, false를 반환하면 필터링에서 제외시킵니다.
예를 들어, 다음과 같은 callback 함수가 있다고 가정해 보겠습니다.
#hostingforum.kr
php
function callback($item) {
return $item['name'] === 'file.txt';
}
이 callback 함수는 'file.txt' 이름의 항목만 필터링에 포함시키도록 합니다.
RecursiveCallbackFilterIterator::__construct 메서드는 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/path/to/directory'));
$filteredIterator = new RecursiveCallbackFilterIterator($iterator, 'callback');
foreach ($filteredIterator as $file) {
echo $file->getPathname() . "n";
}
이 예제에서는 '/path/to/directory' 디렉토리와 그 하위 디렉토리에서 'file.txt' 이름의 파일만 필터링에 포함시키도록 합니다.
2025-07-29 18:20