stat

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

statDa información acerca de un fichero

Descripción

stat(string$filename): array

Reúne las estadísticas del fichero nombrado por filename. Si filename es un enlace simbólico, las estadísticas son las del fichero mismo, no las del enlace simbólico.

lstat() es idéntica a stat() excepto que está basada en el estado de los enlaces simbólicos.

Parámetros

filename

Ruta del fichero.

Valores devueltos

Formato del resultado de stat() y fstat()
NuméricoAsociativoDescripción
0devnúmero de dispositivo
1inonúmero de i-nodo *
2modemodo de protección del i-nodo
3nlinknúmero de enlaces
4uidID de usuario del propietario *
5gidID de grupo del propietario *
6rdevtipo de dispositivo, si es un dispositivo i-nodo
7sizetamaño en bytes
8atimemomento del último acceso (tiempo Unix)
9mtimemomento de la última modificación (tiempo Unix)
10ctimemomento de la última modificación del i-nodo (tiempo Unix)
11blksizetamaño del bloque E/S del sistema de ficheros **
12blocksnúmero de bloques de 512 bytes asignados **
* en Windows esto siempre será 0.

** Sólo válido para sistemas que soportan el tipo st_blksize type - otros sistemas (p.ej. Windows) devuelven -1.

En caso de que se produzca un error, stat() devuelve false.

Nota: Debido a que el tipo integer de PHP es con signo y muchas plataformas usan enteros de 32 bits, algunas funciones de sistema de ficheros pueden devolver resultados inesperados para ficheros que son mayores de 2 GB.

Errores/Excepciones

Si falla, se emite un E_WARNING.

Ejemplos

Ejemplo #1 Ejemplo de stat()

<?php

$estadísticas = stat('C:\php\php.exe');


echo 'Momento de acceso: ' . $estadísticas['atime'];


echo 'Momento de modificación: ' . $estadísticas['mtime'];


echo 'Número de dispositivo: ' . $estadísticas['dev'];
?>

Ejemplo #2 Usar la información de stat() junto con touch()

<?php

$estadísticas = @stat('C:\php\php.exe');


if(!$estadísticas) {
echo
'La llamada a stat() falló...';
} else {

$atime = $estadísticas['atime'] + 604800;


if(!@touch('fichero.txt', time(), $atime)) {
echo
'Falló al afectar el fichero...';
} else {
echo
'touch() devolvió con éxito...';
}
}
?>

Notas

Nota:

Observe que el tiempo de resolución quizá varia según el sistema de ficheros.

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().

Ver también

  • lstat() - Da información acerca de un archivo o enlace simbólico
  • fstat() - Obtiene información acerca de un archivo usando un puntero al archivo abierto
  • filemtime() - Obtiene el momento de la última modificación de un archivo
  • filegroup() - Obtiene el grupo de un archivo
To Top