Documentación offline PHP master

pathinfo

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

En esta página

pathinfo

Devuelve información sobre una ruta del sistema

Descripción#

pathinfo(string $path, [int $flags]): array
```php

`pathinfo` devuelve información sobre la ruta `path`, en forma de string o array asociativo, dependiendo del argumento `flags`.

> [!NOTE]
> Para más información sobre la lectura de la ruta actual, consulte la sección sobre las [variables predefinidas](#language.variables.predefined).

> [!NOTE]
> `pathinfo` opera de manera ingenua sobre la cadena de entrada, y no es consciente de los sistemas de archivos actuales, o de los componentes de rutas como "`..`".

> [!NOTE]
> Solo en sistemas Windows, el carácter `\` será interpretado como separador de directorio. En otros sistemas, será tratado como cualquier otro carácter.

> [!CAUTION]
> La función `pathinfo` es sensible a la configuración local, por lo tanto, si se desea que analice correctamente una ruta que contenga caracteres de varios bytes, la configuración local correspondiente debe ser definida utilizando la función `setlocale`.

## Parámetros

`path`  
La ruta a analizar.

`flags`  
Especifica qué elemento será devuelto. Puede pasar una de las constantes `PATHINFO_DIRNAME`, `PATHINFO_BASENAME`, `PATHINFO_EXTENSION` y `PATHINFO_FILENAME`.

Si `flags` no es especificado, todos los elementos son devueltos.

## Valores devueltos

Si `flags` no es utilizado, esta función devolverá un array asociativo que contiene los siguientes elementos : `dirname`, `basename`, `extension` (si existe), y `filename`.

> [!NOTE]
> Si `path` contiene más de una extensión, `PATHINFO_EXTENSION` devuelve únicamente la última y `PATHINFO_FILENAME` eliminará únicamente la última también (ver el primer ejemplo a continuación).

> [!NOTE]
> Si `path` no tiene extensión, el elemento `extension` no será devuelto (ver el segundo ejemplo a continuación).

> [!NOTE]
> Si `basename` del argumento `path` comienza con un punto, los caracteres siguientes son interpretados como la `extension`, y el `filename` estará vacío (ver el tercer ejemplo a continuación).

Si `flags` es utilizado, esta función devolverá una `string` que contiene los elementos.

## Ejemplos

Ejemplo con `pathinfo`
El ejemplo anterior mostrará:

    /www/htdocs/inc
    lib.inc.php
    php
    lib.inc

Ejemplo `pathinfo` sin extensión
Resultado del ejemplo anterior es similar a:

    string(0) ""

    Notice: Undefined index: extension in test.php on line 6
    NULL

Ejemplo con `pathinfo`
Resultado del ejemplo anterior es similar a:

    Array
    (
        [dirname] => /some/path
        [basename] => .test
        [extension] => test
        [filename] =>
    )

Ejemplo de `pathinfo` con desestructuración de array

El argumento `flags` no es una máscara de bits. Solo un valor puede ser proporcionado. Para seleccionar únicamente un conjunto limitado de valores analizados, utilice la desestructuración de array como se muestra a continuación:
 <?php
 ['basename' => $basename, 'dirname' => $dirname] = pathinfo('/www/htdocs/inc/lib.inc.php');
 var_dump($basename, $dirname);
 ?>

```php

Resultado del ejemplo anterior es similar a:

     string(11) "lib.inc.php"
     string(15) "/www/htdocs/inc"

Véase también#

dirname, basename, parse_url, realpath