is_readable

(PHP 4, PHP 5, PHP 7)

is_readableTells whether a file exists and is readable

설명

bool is_readable ( string $filename )

Tells whether a file exists and is readable.

인수

filename

Path to the file.

반환값

Returns TRUE if the file or directory specified by filename exists and is readable, FALSE otherwise.

예제

Example #1 is_readable() example

<?php
$filename 
'test.txt';
if (
is_readable($filename)) {
    echo 
'The file is readable';
} else {
    echo 
'The file is not readable';
}
?>

오류/예외

실패 시, E_WARNING이 발생합니다.

주의

Keep in mind that PHP may be accessing the file as the user id that the web server runs as (often 'nobody'). Safe mode limitations are not taken into account before PHP 5.1.5.

Note: 이 함수의 결과는 캐시에 저장합니다. 자세한 설명은 clearstatcache()를 참고하십시오.

Tip

PHP 5.0.0부터 이 함수는 몇몇 URL 래퍼를 사용할 수 있습니다. 기능적으로 stat() 패밀리를 지원하는 래퍼 목록은 Supported Protocols and Wrappers를 참고하십시오.

Note:

The check is done using the real UID/GID instead of the effective one.

This function may return TRUE for directories. Use is_dir() to distinguish file and directory.

참고

add a note add a note

User Contributed Notes 4 notes

up
8
jo at durchholz dot org
13 years ago
DrTebi at yahoo dot com is wrong. is_readable() checks whether you can do file_get_contents() or similar calls, no more, no less. If the location given returns a 500 or 403 error, you can still read() that (you'll simply get the error page), but it's still read()able. Using is_readable to check the validity of a URL is simply the wrong function.
up
1
arikan134 at gmail dot com
4 years ago
is readable recursively. Check all sub directories and files readable
<?php
function is_readable_r($dir) {
    if (
is_dir($dir)) {
        if(
is_readable($dir)){
           
$objects = scandir($dir);
            foreach (
$objects as $object) {
                if (
$object != "." && $object != "..") {
                    if (!
is_readable_r($dir."/".$object)) return false;
                    else continue;
                }
            }   
            return
true;   
        }else{
            return
false;
        }
       
    }else if(
file_exists($dir)){
        return (
is_readable($dir));
       
    }
}

?>
up
-1
pgl at yoyo dot org
10 years ago
Note that is_readable() will return false for streams, eg, php://stdin.
up
-32
Anonymous
14 years ago
Sometimes in situations where file_exists fails (returns false even though the file does exist) stat will work.
To Top