PHP의 is_dir
함수
is_dir
함수란?
is_dir
함수는 주어진 경로가 디렉토리인지 확인하여 불리언(Boolean) 값을 반환하는 PHP 내장 함수입니다. 디렉토리인 경우 true
를 반환하고, 파일이거나 해당 경로가 존재하지 않는 경우 false
를 반환합니다.
is_dir
함수의 사용 예시:
$dirPath = 'uploads/';
if (is_dir($dirPath)) {
echo "이 경로는 디렉토리입니다.";
} else {
echo "이 경로는 디렉토리가 아닙니다.";
}
위 예시는 ‘uploads/’ 경로가 디렉토리인지 확인하여 결과를 출력합니다.
다른 함수와 함께 사용하는 예시:
is_dir
함수는 파일 또는 디렉토리를 찾아와서 해당 경로가 디렉토리인지 확인하는데 주로 사용됩니다.
$files = scandir('documents/');
foreach ($files as $file) {
$filePath = 'documents/' . $file;
if (is_dir($filePath)) {
echo "디렉토리: $file<br>";
} else {
echo "파일: $file<br>";
}
}
위 예시는 ‘documents/’ 디렉토리에 있는 파일과 디렉토리들을 구분하여 출력합니다.
조건문과 반복문과 함께 사용하는 예시:
is_dir
함수는 조건문과 반복문과 함께 사용하여 디렉토리에 접근하거나 특정 파일들을 처리하는데 유용합니다.
$dirPath = 'photos/';
if (is_dir($dirPath)) {
$files = scandir($dirPath);
foreach ($files as $file) {
if ($file != '.' && $file != '..') {
echo "<img src='$dirPath$file' alt='photo'><br>";
}
}
} else {
echo "해당 경로는 디렉토리가 아닙니다.";
}
위 예시는 ‘photos/’ 디렉토리에 있는 이미지 파일들을 출력합니다. ‘.’와 ‘..’는 현재 디렉토리와 상위 디렉토리를 나타내는 특수한 값으로 건너뛰도록 처리합니다.
성능 향상을 위한 팁:
is_dir
함수 자체가 성능에 큰 영향을 미치지 않습니다. 하지만 대량의 파일 검색 시 scandir
함수와 함께 사용되면 성능에 영향을 줄 수 있습니다. 디렉토리 내부를 확인하는 것보다 필요한 파일만 필터링하는 등 성능 최적화를 고려할 수 있습니다.