(PHP 4, PHP 5)
stat — Da información acerca de un archivo
Reúne la estadísticas del archivo nombrado por filename. Si filename es un enlace simbólico, las estadísticas son las del archivo 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.
Ruta del archivo.
Numérico | Asociativo (desde PHP 4.0.6) | Descripción |
---|---|---|
0 | dev | número de dispositivo |
1 | ino | número de i-nodo * |
2 | mode | modo de protección del i-nodo |
3 | nlink | número de enlaces |
4 | uid | ID de usuario del propietario * |
5 | gid | ID de grupo del propietario * |
6 | rdev | tipo de dispositivo, si es un dispositivo i-nodo |
7 | size | tamaño en bytes |
8 | atime | momento del último acceso (tiempo Unix) |
9 | mtime | momento de la última modificación (tiempo Unix) |
10 | ctime | momento de la última modificación del i-nodo (tiempo Unix) |
11 | blksize | tamaño del bloque E/S del sistema de archivos ** |
12 | blocks | número de bloques de 512 bytes asignados ** |
** 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.
Si falla, se emite un E_WARNING.
Versión | Descripción |
---|---|
4.0.6 | Además de la devolución de estos atributos en una matriz numérica, se puede acceder a ellos con índices asociativos, como se anotó al lado de cada parámetro |
Example #1 Ejemplo de stat()
<?php
/* Obtener las estadísticas de un archivo */
$estadísticas = stat('C:\php\php.exe');
/*
* Imprime el momento de acceso del archivo,
* esto es lo mismo que llamar a fileatime()
*/
echo 'Momento de acceso: ' . $estadísticas['atime'];
/*
* Imprime el momento de modificación del archivo,
* esto es lo mismo que llamar a filemtime()
*/
echo 'Momento de modificación: ' . $estadísticas['mtime'];
/* Imprime el número de dispositivo */
echo 'Número de dispositivo: ' . $estadísticas['dev'];
?>
Example #2 Usar la información de stat() junto con touch()
<?php
/* Obtener las estadísticas del archivo */
$estadísticas = @stat('C:\php\php.exe');
/* ¿Falló al obtener la información de stat? */
if(!$estadísticas)
{
echo 'La llamada a stat() falló...';
}
else
{
/*
* Queremos que el tiempo de acceso sea 1 semana
* después que el tiempo de acceso actual.
*/
$atime = $estadísticas['atime'] + 604800;
/* Afectar el archivo */
if(!@touch('archivo.txt', time(), $atime))
{
echo 'Falló al afectar el archivo...';
}
else
{
echo 'touch() devolvió con éxito...';
}
}
?>
Note:
Observe que el tiempo de resolución quizá varia según el sistema de ficheros.
Note: Los resultados de esta función son guardados en caché. Para más información ver clearstatcache().
Desde PHP 5.0.0, esta función también puede usarse con algunos URL wrappers. Consultar Lista de Protocolos/Envolturas Soportados para obtener una lista los wrappers tienen soporte para la familia de funcionalidad de stat().