Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP is_readable() 함수 완벽 가이드: 파일 읽기 가능 여부 확인하기

PHP의 is_readable() 함수는 지정한 파일이나 디렉터리가 현재 사용자 권한으로 읽을 수 있는지(읽기 가능 여부)를 확인하는 데 사용됩니다. 파일 또는 디렉터리가 존재하고 읽기 가능한 상태라면 TRUE를 반환하며, 존재하지 않거나 읽을 수 없는 경우 FALSE를 반환합니다.

이 함수는 파일을 열기 전에 미리 접근 권한을 검사하여 오류를 방지하고자 할 때 특히 유용합니다.

구문(Syntax)

is_readable(file_path)

매개변수(Parameters)

  • file_path − 읽기 가능 여부를 확인할 파일 또는 디렉터리의 경로를 지정합니다.

반환값(Return)

파일 또는 디렉터리가 존재하고 읽을 수 있으면 TRUE를 반환하고, 존재하지 않거나 읽기 권한이 없으면 FALSE를 반환합니다.

예제 1

다음 예제는 파일의 읽기 가능 여부를 단순히 확인하는 코드입니다.

<?php
$file_path = "new.txt";
if(is_readable($file_path)) {
   echo ("읽을 수 있습니다!");
} else {
   echo ("읽을 수 없습니다!");
}
?>

출력 결과

읽을 수 없습니다!

위 예제에서는 "new.txt" 파일이 존재하지 않으므로 FALSE가 반환되어 "읽을 수 없습니다!"라는 메시지가 출력됩니다.

예제 2: 파일 내용까지 함께 읽어오기

이번에는 파일이 읽기 가능할 경우, 실제로 파일을 열어 내용을 출력하는 예제를 살펴보겠습니다.

다음과 같은 내용을 담고 있는 "demo.txt" 파일이 있다고 가정해 보겠습니다.

This is demo text in demo file!

아래 코드는 파일의 읽기 가능 여부를 먼저 검사한 후, 읽기 가능하다면 파일 내용까지 함께 출력합니다.

<?php
$file_path = "demo.txt";
if(is_readable($file_path)) {
   echo ("읽을 수 있습니다!");
   echo ("파일 내용: ");
   readfile($file_path);
} else {
   echo ("읽을 수 없습니다!");
}
?>

출력 결과

읽을 수 없습니다!

서버 환경에 따라 해당 파일에 대한 읽기 권한이 없거나 파일이 존재하지 않으면 FALSE가 반환되어 "읽을 수 없습니다!" 메시지가 표시됩니다. 만약 파일이 존재하고 권한이 올바르게 설정되어 있다면 "읽을 수 있습니다!"와 함께 파일 내용도 출력됩니다.

참고 사항

  • is_readable()은 PHP 캐싱 때문에 정확하지 않은 결과를 반환할 수 있으며, 이 경우 clearstatcache()를 호출하여 상태 캐시를 초기화하면 해결할 수 있습니다.

  • 함수는 파일이 아닌 디렉터리에 대해서도 사용할 수 있습니다.

  • 웹 서버 실행 계정(예: www-data) 기준으로 권한을 판단하므로, CLI와 웹 환경에서 결과가 다를 수 있습니다.