
FilesystemIterator의 rewind() 메서드는 디렉토리 반복을 다시 시작할 때 이전에 처리한 파일 목록이 다시 반복되는 문제를 해결하기 위해 사용됩니다.
이 문제를 해결하기 위해, 디렉토리 반복을 다시 시작하기 전에 Iterator의 rewind() 메서드를 호출하고, Iterator의 seek() 메서드를 사용하여 처음으로 이동시키는 방법을 사용할 수 있습니다.
예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
php
$iterator = new FilesystemIterator('/path/to/directory');
// 디렉토리 반복
foreach ($iterator as $file) {
// 파일 처리
}
// 디렉토리 반복을 다시 시작하기 전에 Iterator의 rewind() 메서드를 호출합니다.
$iterator->rewind();
// Iterator의 seek() 메서드를 사용하여 처음으로 이동시킵니다.
$iterator->seek(0);
// 디렉토리 반복을 다시 시작합니다.
foreach ($iterator as $file) {
// 파일 처리
}
또는, Iterator의 rewind() 메서드를 사용하여 디렉토리 반복을 다시 시작할 때, Iterator의 current() 메서드를 사용하여 현재 파일을 제거하는 방법을 사용할 수 있습니다.
예를 들어, 다음과 같이 코드를 작성할 수 있습니다.
#hostingforum.kr
php
$iterator = new FilesystemIterator('/path/to/directory');
// 디렉토리 반복
foreach ($iterator as $file) {
// 파일 처리
}
// 디렉토리 반복을 다시 시작하기 전에 Iterator의 rewind() 메서드를 호출합니다.
$iterator->rewind();
// Iterator의 current() 메서드를 사용하여 현재 파일을 제거합니다.
$iterator->next();
// 디렉토리 반복을 다시 시작합니다.
foreach ($iterator as $file) {
// 파일 처리
}
이러한 방법을 사용하여, 디렉토리 반복을 다시 시작할 때 이전에 처리한 파일 목록이 다시 반복되는 문제를 해결할 수 있습니다.
2025-04-25 09:08