개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.06.27 01:37

SplFileInfo::isDir 함수에 대한 질문

목록
  • 레디스매니아 22일 전 2025.06.27 01:37
  • 21
    1
제가 SplFileInfo 클래스를 이용하여 파일 정보를 가져오려는데, isDir 함수를 사용하여 디렉토리 여부를 확인하려고 합니다. 하지만, 디렉토리와 파일의 경로가 동일한 경우에는 디렉토리 여부를 확인하는 것이 어려운 것 같습니다.

이러한 경우에는 어떻게 처리해야 하는지 궁금합니다. 예를 들어, 'C:\Users\username\Documents'와 'C:\Users\username\Documents\file.txt'의 경로가 있을 때, 디렉토리 여부를 확인하는 방법은 무엇인가요?

또한, 디렉토리 여부를 확인하는 함수를 사용할 때, 에러 처리는 어떻게 해야 하는지 궁금합니다. 예를 들어, 파일이 존재하지 않는 경우에는 어떻게 처리해야 하는지 궁금합니다.

    댓글목록

    profile_image
    나우호스팅  22일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 37,083건 / 14 페이지

검색

게시물 검색