(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
] )
pathinfo() devuelve información acerca de
path
: bien como un array asociativo, o bien como un string,
en función del valor de options
.
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.
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, yPATHINFO_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.
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().