
RecursiveIteratorIterator::endChildren 메서드는 자식 이터레이터의 끝을 반환하지 않고, 끝을 넘어서 다음 자식 이터레이터의 시작을 반환합니다.
자식 디렉토리 11의 끝을 찾으려면, RecursiveIteratorIterator::endChildren 메서드를 호출한 후, RecursiveIteratorIterator::next 메서드를 호출하여 현재 위치를 다음 자식 디렉토리 12로 이동한 후, RecursiveIteratorIterator::end 메서드를 호출하여 자식 디렉토리 12의 끝을 반환받습니다.
다음은 예제 코드입니다.
#hostingforum.kr
php
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/path/to/root/directory'));
while ($iterator->valid()) {
if ($iterator->isDir()) {
echo "현재 디렉토리: " . $iterator->getSubPathName() . "n";
$childIterator = $iterator->getChildren();
while ($childIterator->valid()) {
echo "자식 디렉토리: " . $childIterator->getSubPathName() . "n";
$childIterator->next();
$childIterator->rewind();
$end = $childIterator->endChildren();
$childIterator->seek($end);
echo "자식 디렉토리 " . $childIterator->getSubPathName() . "의 끝n";
$childIterator->next();
$childIterator->rewind();
}
}
$iterator->next();
}
2025-07-02 14:14