文字

is_readable

(PHP 4, PHP 5, PHP 7)

is_readable判断给定文件名是否可读

说明

bool is_readable ( string $filename )

判断给定文件名是否存在并且可读。

参数

filename

文件的路径。

返回值

如果由 filename 指定的文件或目录存在并且可读则返回 TRUE ,否则返回 FALSE

范例

Example #1 is_readable() 例子

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

错误/异常

失败时抛出 E_WARNING 警告。

注释

记住 PHP 也许只能以运行 webserver 的用户名(通常为 'nobody')来访问文件。不计入安全模式的限制。 Safe mode limitations are not taken into account before PHP 5.1.5.

Note: 此函数的结果会被缓存。参见 clearstatcache() 以获得更多细节。

Tip

自 PHP 5.0.0 起, 此函数也用于某些 URL 包装器。请参见 支持的协议和封装协议以获得支持 stat() 系列函数功能的包装器列表。

Note:

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

对于目录这个函数可能会返回 TRUE 。请使用 is_dir() 来区分文件和目录。

参见

  • is_writable() - 判断给定的文件名是否可写
  • file_exists() - 检查文件或目录是否存在
  • fgets() - 从文件指针中读取一行

用户评论:

[#1] pgl at yoyo dot org [2009-07-31 07:13:28]

Note that is_readable() will return false for streams, eg, php://stdin.

[#2] jo at durchholz dot org [2006-01-30 09:15:54]

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.

[#3] [2005-07-26 19:08:16]

Sometimes in situations where file_exists fails (returns false even though the file does exist) stat will work.

上一篇: 下一篇: