
FilesystemIterator::next 메서드는 디렉토리나 파일을 순회할 때, 다음 항목을 반환합니다. 디렉토리와 파일을 구분하는 방법은 Iterator의 current() 메서드를 사용하여 현재 항목의 getType() 메서드를 호출하여 반환된 값이 FilesystemIterator::KEY_CURRENT_DIR이면 디렉토리, FilesystemIterator::KEY_CURRENT_DIR_NOT_LINK이면 서브 디렉토리, FilesystemIterator::KEY_CURRENT_FILE이면 파일인지를 확인하면 됩니다.
예를 들어, 디렉토리 'test' 안에 파일 'file1.txt'와 서브 디렉토리 'subdir'가 있다고 가정해 보겠습니다. 이때, FilesystemIterator를 사용하여 디렉토리 'test'를 순회할 때, next() 메서드는 디렉토리 'subdir'를 반환하지 않습니다. 대신, 서브 디렉토리의 Iterator를 반환합니다.
FilesystemIterator를 사용하여 디렉토리 'test'를 순회할 때, next() 메서드는 파일 'file1.txt'를 반환합니다.
#hostingforum.kr
php
$iterator = new FilesystemIterator('test');
while ($iterator->valid()) {
if ($iterator->current()->getType() == FilesystemIterator::KEY_CURRENT_FILE) {
echo $iterator->current()->getFilename() . "n";
} elseif ($iterator->current()->getType() == FilesystemIterator::KEY_CURRENT_DIR) {
echo $iterator->current()->getFilename() . "n";
} elseif ($iterator->current()->getType() == FilesystemIterator::KEY_CURRENT_DIR_NOT_LINK) {
echo $iterator->current()->getFilename() . "n";
}
$iterator->next();
}
FilesystemIterator::next 메서드는 디렉토리나 파일을 순회할 때, 다음 항목을 반환합니다. 디렉토리와 파일을 구분하는 방법은 Iterator의 current() 메서드를 사용하여 반환된 값을 확인하면 됩니다.
2025-04-01 08:56