
DirectoryIterator::rewind 메소드는 디렉토리 내의 파일을 읽어오기 전에 현재 위치를 초기화하는 메소드입니다.
DirectoryIterator::rewind 메소드를 호출한 후, 디렉토리 내의 파일을 읽어오기 위해 DirectoryIterator::current() 메소드를 호출하여 현재 위치를 확인하고, DirectoryIterator::next() 메소드를 호출하여 다음 위치로 이동하여야 합니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$iterator = new DirectoryIterator('/path/to/directory');
// 디렉토리 내의 파일을 읽어오기
while ($iterator->valid()) {
echo $iterator->current() . "n";
$iterator->next();
}
// rewind 메소드를 호출하여 초기화
$iterator->rewind();
// 디렉토리 내의 파일을 읽어오기
while ($iterator->valid()) {
echo $iterator->current() . "n";
$iterator->next();
}
DirectoryIterator::rewind 메소드를 호출한 후, 디렉토리 내의 파일을 읽어오기 위해 DirectoryIterator::rewind() 메소드를 호출하는 것이 아니라, DirectoryIterator::next() 메소드를 호출하여 다음 위치로 이동하여야 합니다.
또한, DirectoryIterator::rewind 메소드를 호출한 후, 디렉토리 내의 파일을 모두 읽어오기 위해서는 DirectoryIterator::valid() 메소드를 호출하여 현재 위치가 마지막 위치인지 확인하여야 합니다.
예를 들어, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$iterator = new DirectoryIterator('/path/to/directory');
// 디렉토리 내의 파일을 읽어오기
while ($iterator->valid()) {
echo $iterator->current() . "n";
$iterator->next();
}
// rewind 메소드를 호출하여 초기화
$iterator->rewind();
// 디렉토리 내의 파일을 읽어오기
while ($iterator->valid()) {
if ($iterator->isDir()) {
echo $iterator->getFilename() . " is directoryn";
} elseif ($iterator->isFile()) {
echo $iterator->getFilename() . " is filen";
}
$iterator->next();
}
// 마지막 위치인지 확인
if ($iterator->valid()) {
echo "디렉토리 내의 파일을 모두 읽어왔습니다.n";
} else {
echo "디렉토리 내의 파일을 모두 읽어오지 못했습니다.n";
}
2025-03-06 09:58