
RecursiveIteratorIterator::setMaxDepth를 사용하여 반복 깊이를 제한하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('/path/to/directory'), RecursiveIteratorIterator::SELF_FIRST);
$iterator->setMaxDepth(2);
foreach ($iterator as $file) {
echo $file->getPathname() . "n";
}
위 예제에서, RecursiveIteratorIterator::setMaxDepth(2) 메서드를 호출하여 최대 반복 깊이를 2로 설정합니다.
이러한 설정은 반복을 시작할 때 즉시 적용됩니다.
즉, RecursiveIteratorIterator::setMaxDepth를 호출한 후에 반복을 시작할 때, 설정한 깊이값이 반영됩니다.
예를 들어, 위 예제에서 '/path/to/directory' 디렉토리와 그 하위 디렉토리만 반복됩니다.
'/path/to/directory' 디렉토리 하위 디렉토리의 하위 디렉토리와 그 하위 디렉토리는 반복되지 않습니다.
이러한 설정은 반복을 시작할 때 즉시 적용되므로, 반복을 시작하기 전에 설정한 깊이값이 반영됩니다.
또한, RecursiveIteratorIterator::setMaxDepth를 호출한 후에 반복을 중단하거나 종료하는 경우, 설정한 깊이값이 반영되지 않습니다.
즉, 반복을 중단하거나 종료한 후에 다시 반복을 시작하는 경우, 설정한 깊이값이 반영되지 않습니다.
따라서, 반복을 시작하기 전에 RecursiveIteratorIterator::setMaxDepth를 호출하여 설정한 깊이값이 반영되도록 하세요.
2025-06-28 02:04