is_readable

(PHP 4, PHP 5, PHP 7, PHP 8)

is_readableIndica si un fichero existe y es accesible en lectura

Descripción

is_readable(string $filename): bool

Indica si un fichero existe y es accesible en lectura.

Parámetros

filename

Ruta hacia el fichero.

Valores devueltos

Devuelve true si el fichero o el directorio especificado por filename existe y es accesible en lectura, false en caso contrario.

Errores/Excepciones

En caso de fallo, se emite un E_WARNING.

Ejemplos

Ejemplo #1 Ejemplo con is_readable()

<?php
$filename
= 'test.txt';
if (
is_readable($filename)) {
echo
'El fichero es accesible en lectura';
} else {
echo
'El fichero no es accesible en lectura !';
}
?>

Notas

No se olvide que PHP accede a los ficheros con los mismos permisos que el usuario que ejecuta el servidor web (a menudo, es 'nobody', nadie).

Nota: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().

Sugerencia

Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Protocolos y Envolturas soportados para deter4minar qué envolturas soportan la familia de funcionalidad de stat().

Nota:

La verificación se realiza utilizando el UID/GID real en lugar del efectivo.

Esta función puede devolver true para los directorios. Utilice la función is_dir() para distinguir los ficheros y los directorios.

Ver también

  • is_writable() - Indica si un fichero es accesible en escritura
  • file_exists() - Verifica si un fichero o un directorio existe
  • fgets() - Recupera la línea actual a partir de la posición del puntero de archivo

add a note

User Contributed Notes 4 notes

up
8
jo at durchholz dot org
19 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
pgl at yoyo dot org
15 years ago
Note that is_readable() will return false for streams, eg, php://stdin.
up
0
johninen at gmail dot com
1 month ago
This will return false on urls, even if file_get_contents() reads them. So, only for files.
up
0
arikan134 at gmail dot com
9 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));

}
}

?>
To Top