
DirectoryIterator::getExtension 메서드는 파일의 확장자를 가져올 때 사용하는 메서드입니다. 이 메서드는 파일 이름에서 '.' 이후의 문자열을 확장자로 간주합니다. 예를 들어, 'example.txt'의 확장자는 'txt'입니다.
이 메서드를 사용할 때, 파일 이름은 반드시 문자열이어야 합니다. 예를 들어, 'example.txt'와 'example.txt.php'는 모두 사용할 수 있습니다. 하지만 'example.txt.php.php'는 사용할 수 없습니다.
DirectoryIterator::getExtension 메서드를 사용하여 파일의 확장자를 가져올 때, 다음과 같은 예외적인 상황이나 오류가 발생할 수 있습니다.
- 파일 이름이 빈 문자열인 경우: 이 경우 확장자는 빈 문자열이 됩니다.
- 파일 이름이 '.' 또는 '..'인 경우: 이 경우 확장자는 '.' 또는 '..'이 됩니다.
- 파일 이름이 '.' 또는 '..' 이후의 문자열이 없는 경우: 이 경우 확장자는 빈 문자열이 됩니다.
- 파일 이름이 문자열이 아닌 경우: 이 경우 예외가 발생합니다.
예를 들어, 다음 코드는 DirectoryIterator::getExtension 메서드를 사용하여 파일의 확장자를 가져올 때의 예외적인 상황이나 오류를示しています.
#hostingforum.kr
php
$iterator = new DirectoryIterator('.');
foreach ($iterator as $file) {
if ($file->getExtension() === '') {
echo "파일 이름이 빈 문자열입니다.n";
} elseif ($file->getExtension() === '.') {
echo "파일 이름이 '.'입니다.n";
} elseif ($file->getExtension() === '..') {
echo "파일 이름이 '..'입니다.n";
} elseif ($file->getExtension() === '.') {
echo "파일 이름이 '.' 이후의 문자열이 없습니다.n";
} else {
echo "파일 이름: " . $file->getFilename() . ", 확장자: " . $file->getExtension() . "n";
}
}
2025-05-28 04:23