DrTebi at yahoo dot com 是错误的。is_readable() 检查你是否可以执行 file_get_contents() 或类似的调用,仅此而已。如果给定的位置返回 500 或 403 错误,你仍然可以 read() 它(你只会得到错误页面),但它仍然是 read()able。使用 is_readable 来检查 URL 的有效性是错误的函数。
(PHP 4, PHP 5, PHP 7, PHP 8)
is_readable — 判断文件是否存在且可读
filename
文件路径。
失败时,会发出 E_WARNING
。
示例 #1 is_readable() 示例
<?php
$filename = 'test.txt';
if (is_readable($filename)) {
echo '文件可读';
} else {
echo '文件不可读';
}
?>
请记住,PHP 可能会以 Web 服务器运行的用户 ID(通常为“nobody”)访问文件。
注意: 此函数的结果会被缓存。有关详细信息,请参阅 clearstatcache()。
注释:
检查使用的是实际 UID/GID,而不是有效的 UID/GID。
DrTebi at yahoo dot com 是错误的。is_readable() 检查你是否可以执行 file_get_contents() 或类似的调用,仅此而已。如果给定的位置返回 500 或 403 错误,你仍然可以 read() 它(你只会得到错误页面),但它仍然是 read()able。使用 is_readable 来检查 URL 的有效性是错误的函数。
is 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));
}
}
?>