Documentación offline PHP master

stat

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

stat

Proporciona información sobre un fichero

Descripción#

stat(string $filename): array
```php

Proporciona información sobre el fichero `filename`. Si `filename` es un enlace simbólico, la información proviene del fichero en sí, y no del enlace simbólico. Antes de PHP 7.4.0, en Windows NTS compila los valores estáticos `size`, `atime`, `mtime` y `ctime` desde los enlaces simbólicos, en este caso.

`lstat` es idéntico a `stat` excepto que la información se basa en el enlace simbólico.

## Parámetros

`filename`  
La ruta al fichero.

## Valores devueltos

| Número | Nombre  | Descripción                                       |
|--------|---------|---------------------------------------------------|
| 0      | dev     | volumen (\*\*\*)                                  |
| 1      | ino     | Número de inodo (\*\*\*\*)                        |
| 2      | mode    | derechos de acceso al inodo \*\*\*\*\*            |
| 3      | nlink   | número de enlaces                                 |
| 4      | uid     | userid del propietario (\*)                       |
| 5      | gid     | groupid del propietario (\*)                      |
| 6      | rdev    | tipo de volumen, si el volumen es un inodo        |
| 7      | size    | tamaño en bytes                                   |
| 8      | atime   | fecha del último acceso (timestamp Unix)          |
| 9      | mtime   | fecha de la última modificación (timestamp Unix)  |
| 10     | ctime   | fecha del último cambio de inodo (timestamp Unix) |
| 11     | blksize | tamaño de bloque (\*\*)                           |
| 12     | blocks  | número de bloques de 512 bytes asignados (\*\*)   |

Formato del resultado de `stat` y `fstat`

\* - En Windows, esto siempre será `0`.

\*\* - Solo en sistemas que soportan el tipo `st_blksize`. Los otros sistemas (ej. Windows) devuelven `-1`.

\*\*\* - En Windows, desde PHP 7.4.0, será el número de serie del volumen que contiene el fichero, que será un entero 64-bit *sin signo* que puede desbordarse. Anteriormente, era la representación numérica de la letra del volumen (ej. `2` para `C:`) para la función `stat`, y `0` para la función `lstat`.

\*\*\*\* - En Windows, desde PHP 7.4.0, es el identificador asociado con el fichero, que será un entero 64-bit *sin signo* que puede desbordarse. Anteriormente, siempre era `0`.

\*\*\*\*\* En Windows, el bit de permiso de escritura se define en función del atributo de solo lectura del fichero, y el mismo valor se reporta para todos los usuarios, grupo y propietario. El ACL no se tiene en cuenta, a diferencia de `is_writable`.

El valor de `mode` contiene información leída por varias funciones. Cuando se escribe en octal, comenzando por la derecha, los tres primeros dígitos son devueltos por `chmod`. El siguiente dígito es ignorado por PHP. Los dos siguientes dígitos indican el tipo de fichero:

| `mode` en octal | Significado             |
|-----------------|-------------------------|
| `0140000`       | socket                  |
| `0120000`       | enlace simbólico        |
| `0100000`       | fichero regular         |
| `0060000`       | dispositivo de bloque   |
| `0040000`       | directorio              |
| `0020000`       | dispositivo de carácter |
| `0010000`       | FIFO (un tubo nombrado) |

Los tipos de ficheros `mode`

Por ejemplo, un fichero regular podría ser `0100644` y un directorio podría `0040755`.

En caso de error, `stat` devuelve `false`.

> [!NOTE]
> Como el tipo entero de PHP es firmado y que muchas plataformas utilizan enteros de 32 bits, algunas funciones relacionadas con el sistema de archivos pueden retornar resultados extraños para ficheros de tamaño superior a 2 Go.

## Errores/Excepciones

Si ocurre un error, se emite una advertencia de tipo `E_WARNING`.

## Historial de cambios

| Versión | Descripción |
|----|----|
| 7.4.0 | En Windows, el número del volumen es ahora el número de serie que contiene el fichero, y el número de inodo es el identificador asociado con el fichero. |
| 7.4.0 | Los valores estáticos `size`, `atime`, `mtime` y `ctime` de los enlaces simbólicos son siempre los de la meta. Esto no era así previamente para los builds NTS en Windows. |

## Ejemplos

Ejemplo con `stat`
Uso de la información obtenida de `stat` junto con la función `touch`

```php

Notas#

[!NOTE] Tenga en cuenta que la precisión temporal puede variar según el sistema de archivos utilizado.

[!NOTE] Los resultados de esta función se almacenan en caché. Véase la función clearstatcache para más detalles.

[!TIP] A partir de PHP 5.0.0, esta función también puede ser utilizada con algunos protocolos url. Lea ??? para conocer los protocolos que soportan la familia de funcionalidades de stat.

Véase también#

lstat, fstat, filemtime, filegroup, SplFileInfo