# pathinfo

(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)

pathinfo — Devuelve información acerca de la ruta de un fichero

### Descripción

pathinfo(string `$path`, int `$options` = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME): mixed

pathinfo() devuelve información acerca de `path`: bien como un array asociativo, o bien como un string, en función del valor de `options`.

> Nota:

> Para infomación sobre la recuperación de la información de la ruta actual, lea la sección sobre variables reservadas predefinidas.

Precaución

pathinfo() tiene en cuenta la configuración regional, por lo que, para analizar una ruta que contiene caracteres multibyte correctamente, se debe establecer la configuración regional correspondiente usando la función setlocale().

### Parámetros

`path`

  La ruta a analizar.

`options`

  Si está presente, indica qué elementos específicos se devuelven, de entre `PATHINFO_DIRNAME`, `PATHINFO_BASENAME`, `PATHINFO_EXTENSION` y `PATHINFO_FILENAME`.

  Si no se especifica `options`, se devuelven todos los elementos disponibles.

### Valores devueltos

Si no se proporciona el parámetro `options`, se devuelve un array asociativo que contiene los siguientes elementos: `dirname`, `basename`, `extension` (si tiene), y `filename`.

> Nota:

> Si `path` tiene más de una extensión, `PATHINFO_EXTENSION` devuelve solamente la última, y `PATHINFO_FILENAME` solamente quita la última. (véase el primer ejemplo de más abajo).

> Nota:

> Si `path` no tiene ninguna extensión, no se devolverá ningún elemento `extension` (véase el segundo ejemplo de más abajo).

> Nota:

> Si `basename` de `path` comienza con un punto, los siguientes caracteres serán interpretados como `extension`, y `filename` estará vacío (véase el tercer ejemplo más adelante).

Si `options` estuviera presente, se devolverá un string que contiene el elemento solicitado.

### Historial de cambios

Versión | Descripción
--- | ---
5.2.0 | Se añadió la constante `PATHINFO_FILENAME`.

### Ejemplos

Ejemplo #1 Ejemplo de pathinfo()

`<?php
$partes_ruta = pathinfo('/www/htdocs/inc/lib.inc.php');
echo $partes_ruta['dirname'], "\n";
echo $partes_ruta['basename'], "\n";
echo $partes_ruta['extension'], "\n";
echo $partes_ruta['filename'], "\n"; // desde PHP 5.2.0
?>`

El resultado del ejemplo sería:

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

Ejemplo #2 Ejemplo de pathinfo() mostrando las diferencias entre null y no utilizar extensión

`<?php
$partes_ruta = pathinfo('/path/emptyextension.');
var_dump($partes_ruta['extension']);
$partes_ruta = pathinfo('/path/noextension');
var_dump($partes_ruta['extension']);
?>`

El resultado del ejemplo sería algo similar a:

    string(0) ""

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

Ejemplo #3 Ejemplo de pathinfo() para un fichero que comienza con punto

`<?php
print_r(pathinfo('/una/ruta/.test'));
?>`

El resultado del ejemplo sería algo similar a:

    Array
    (
        [dirname] => /una/ruta
        [basename] => .test
        [extension] => test
        [filename] =>
    )

### Ver también

- dirname() - Devuelve la ruta de un directorio padre
- basename() - Devuelve el último componente de nombre de una ruta
- parse_url() - Analiza un URL y devuelve sus componentes
- realpath() - Devuelve el nombre de la ruta absoluta canonizado