
RecursiveCallbackFilterIterator의 getChildren() 메소드는 디렉토리의 하위 디렉토리와 파일을 모두 반환합니다.
getChildren() 메소드를 사용하는 방법은 다음과 같습니다.
1. 디렉토리 구조를 탐색할 때, 하위 디렉토리와 파일 모두 반환하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$iterator = new RecursiveCallbackFilterIterator($directoryIterator, function ($fileInfo) {
return true;
});
foreach ($iterator as $fileInfo) {
echo $fileInfo->getFilename() . "n";
}
2. 디렉토리 구조가 다음과 같을 때, 특정 파일만 반환하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$iterator = new RecursiveCallbackFilterIterator($directoryIterator, function ($fileInfo) {
return $fileInfo->getFilename() === '파일 3' || $fileInfo->getFilename() === '파일 5';
});
foreach ($iterator as $fileInfo) {
echo $fileInfo->getFilename() . "n";
}
3. getChildren() 메소드를 사용하여 디렉토리 구조를 탐색할 때, 디렉토리와 파일을 구분하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$iterator = new RecursiveCallbackFilterIterator($directoryIterator, function ($fileInfo) {
return $fileInfo->isDir();
});
foreach ($iterator as $fileInfo) {
echo $fileInfo->getFilename() . " (디렉토리)n";
}
$iterator = new RecursiveCallbackFilterIterator($directoryIterator, function ($fileInfo) {
return !$fileInfo->isDir();
});
foreach ($iterator as $fileInfo) {
echo $fileInfo->getFilename() . " (파일)n";
}
위와 같은 상황에서 getChildren() 메소드를 사용하는 방법은 위와 같이 설명된 예제를 참고하시면 됩니다.
2025-08-06 15:14