개발자 Q&A

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

2025.08.16 16:52

SplFileInfo::isReadable 관련 질문

목록
  • Scala마법사 2시간 전 2025.08.16 16:52 새글
  • 1
    1
제가 SplFileInfo 클래스를 사용하여 파일의 읽기 가능 여부를 체크하고 있습니다.

php

$file = new SplFileInfo('test.txt');

if ($file->isReadable()) {

    echo "파일이 읽기 가능합니다.";

} else {

    echo "파일이 읽기 불가능합니다.";

}



이 코드는 파일이 읽기 가능하면 "파일이 읽기 가능합니다."를 출력하고, 읽기 불가능하면 "파일이 읽기 불가능합니다."를 출력합니다.

제가 이해하기로는 SplFileInfo::isReadable() 메서드는 파일이 읽기 가능하면 true를 반환하고, 읽기 불가능하면 false를 반환하는 것으로 알고 있습니다.

하지만, 이 메서드는 어디서부터 읽기 가능 여부를 체크하는지 궁금합니다.

예를 들어, 파일이 읽기 가능하면 true를 반환하지만, 해당 파일의 디렉토리가 읽기 불가능한 경우에는 어떻게 될까요?

혹시 SplFileInfo::isReadable() 메서드가 읽기 가능 여부를 체크하는 방식을 설명해주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  2시간 전



    SplFileInfo::isReadable() 메서드는 파일 자체가 읽기 가능하다는 것을 확인합니다.

    파일이 읽기 가능하더라도, 해당 파일의 디렉토리가 읽기 불가능한 경우에는 SplFileInfo::isReadable() 메서드는 false를 반환합니다.

    이 메서드는 파일의 권한을 확인하여 읽기 가능 여부를 체크합니다.

    예를 들어, 파일의 권한이 0644 인 경우, 읽기 가능 여부는 true를 반환합니다.

    반면, 파일의 권한이 0000 인 경우, 읽기 가능 여부는 false를 반환합니다.

    SplFileInfo::isReadable() 메서드는 파일의 권한을 확인하여 읽기 가능 여부를 체크하므로, 디렉토리의 읽기 가능 여부는 확인하지 않습니다.

    따라서, 파일이 읽기 가능하지만 디렉토리가 읽기 불가능한 경우, SplFileInfo::isReadable() 메서드는 false를 반환합니다.

    코드 예시:

    #hostingforum.kr
    php
    
    $file = new SplFileInfo('test.txt');
    
    if ($file->isReadable()) {
    
        echo "파일이 읽기 가능합니다.";
    
    } else {
    
        echo "파일이 읽기 불가능합니다.";
    
    }
    
    


    위 코드는 파일이 읽기 가능하면 "파일이 읽기 가능합니다."를 출력하고, 읽기 불가능하면 "파일이 읽기 불가능합니다."를 출력합니다.

    하지만, 만약 디렉토리가 읽기 불가능한 경우에는 false를 반환합니다.

    따라서, 디렉토리의 읽기 가능 여부를 체크하려면, isDir() 메서드를 사용하여 디렉토리인지 확인하고, 그 후에 isReadable() 메서드를 사용하여 읽기 가능 여부를 체크하는 것이 좋습니다.

    코드 예시:

    #hostingforum.kr
    php
    
    $file = new SplFileInfo('test.txt');
    
    if ($file->isDir() && $file->isReadable()) {
    
        echo "디렉토리가 읽기 가능합니다.";
    
    } else {
    
        echo "디렉토리가 읽기 불가능합니다.";
    
    }
    
    

    2025-08-16 16:53

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

검색

게시물 검색