
SplFileInfo 클래스의 isDir 함수는 디렉토리 여부를 확인하는 데 사용됩니다. 하지만, 디렉토리와 파일의 경로가 동일한 경우에는 디렉토리 여부를 확인하는 것이 어려울 수 있습니다.
이러한 경우, 디렉토리 여부를 확인하기 전에 파일의 존재 여부를 확인하여 디렉토리인지 파일인지 판단할 수 있습니다. 예를 들어, 'C:\\Users\\username\\Documents'와 'C:\\Users\\username\\Documents\\file.txt'의 경로가 있을 때, 디렉토리 여부를 확인하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$filePath = 'C:\Users\username\Documents\file.txt';
$fileInfo = new SplFileInfo($filePath);
if ($fileInfo->isDir()) {
echo '디렉토리입니다.';
} elseif ($fileInfo->isFile()) {
echo '파일입니다.';
} else {
echo '존재하지 않는 파일입니다.';
}
위 코드는 파일의 존재 여부를 확인하여 디렉토리인지 파일인지 판단합니다. 만약 파일이 존재하지 않는다면, '존재하지 않는 파일입니다.'를 출력합니다.
에러 처리는 try-catch 블록을 사용하여 처리할 수 있습니다. 예를 들어, 파일이 존재하지 않는 경우에는 다음과 같이 처리할 수 있습니다.
#hostingforum.kr
php
try {
$filePath = 'C:\Users\username\Documents\file.txt';
$fileInfo = new SplFileInfo($filePath);
if ($fileInfo->isDir()) {
echo '디렉토리입니다.';
} elseif ($fileInfo->isFile()) {
echo '파일입니다.';
} else {
echo '존재하지 않는 파일입니다.';
}
} catch (Exception $e) {
echo '파일이 존재하지 않습니다.';
}
위 코드는 try 블록에서 파일의 존재 여부를 확인하고, 에러가 발생할 경우 catch 블록에서 에러 메시지를 출력합니다.
2025-06-27 01:38