(PHP 4 >= 4.0.3, PHP 5, PHP 7)
pathinfo — Devuelve información acerca de la ruta de un fichero
$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.
pathLa 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.
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
pathtiene más de una extensión,PATHINFO_EXTENSIONdevuelve solamente la última, yPATHINFO_FILENAMEsolamente quita la última. (véase el primer ejemplo de más abajo).
Nota:
Si
pathno tiene ninguna extensión, no se devolverá ningún elemento extension (véase el segundo ejemplo de más abajo).
Nota:
Si basename de
pathcomienza 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.
| Versión | Descripción |
|---|---|
| 5.2.0 |
Se añadió la constante PATHINFO_FILENAME.
|
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] =>
)
Nota:
Para infomación sobre la recuperación de la información de la ruta actual, lea la sección sobre variables reservadas predefinidas.
Nota:
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().