
RecursiveDirectoryIterator::next 메소드를 사용하여 디렉토리 내의 파일과 서브디렉토리를 구분하는 방법은 다음과 같습니다.
1. RecursiveDirectoryIterator 객체를 생성할 때, RecursiveDirectoryIterator::SKIP_DOTS 옵션을 사용하여 '.'과 '..' 디렉토리를 무시합니다.
2. RecursiveDirectoryIterator::next 메소드를 호출하여 디렉토리 내의 파일과 서브디렉토리를 순회합니다.
3. 디렉토리 내의 파일과 서브디렉토리를 구분하기 위해, isDir() 메소드를 사용하여 현재 항목이 디렉토리인지 파일인지 확인합니다.
4. 디렉토리 내의 서브디렉토리를 순회하기 위해, RecursiveDirectoryIterator 객체를 다시 생성하고, RecursiveDirectoryIterator::next 메소드를 호출하여 서브디렉토리 내의 파일과 서브디렉토리를 순회합니다.
예제 코드는 다음과 같습니다.
#hostingforum.kr
php
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('./', RecursiveDirectoryIterator::SKIP_DOTS));
foreach ($iterator as $file) {
if ($file->isDir()) {
echo $file->getFilename() . ' (디렉토리)' . PHP_EOL;
} else {
echo $file->getFilename() . ' (파일)' . PHP_EOL;
}
}
위 예제 코드는 './' 디렉토리 내의 파일과 서브디렉토리를 순회하고, 디렉토리 내의 서브디렉토리를 순회합니다.
2025-08-14 15:53