(PHP 4 >= 4.0.3, PHP 5)
pathinfo — Devuelve información acerca de una ruta de archivo
$path
[, int $options
= PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME
] )
pathinfo() devuelve información acerca de
path
: o bien como array asociativo, o bien como string,
en función del valor de options
.
path
La ruta que se va a comprobar.
options
Si está presente, se puede indicar qué elementos específicos se devuelven, de entre
PATHINFO_DIRNAME
,
PATHINFO_BASENAME
,
PATHINFO_EXTENSION
y
PATHINFO_FILENAME
.
Si no se especifica ningún valor en options
,
se devuelven todos los elementos.
Si no se pasa ningún valor en options
, se
devuelve un array asociativo que contiene los siguientes
elementos:
dirname, basename,
extension (si tiene), y filename.
Nota:
Si
path
no tiene ninguna extensión, no se devolverá el emento extension (ver el segundo ejemplo de abajo).
Si options
estuviera presente, se devolverá un
string conteniendo 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
$path_parts = pathinfo('/path/emptyextension.');
var_dump($path_parts['extension']);
$path_parts = pathinfo('/path/noextension');
var_dump($path_parts['extension']);
?>
El resultado del ejemplo sería algo similar a:
string(0) "" Notice: Undefined index: extension in test.php on line 6
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() es consciente de la configuración de idioma, por lo tanto para que analice una ruta con caracteres multibyte correctamente, el idioma correspondiente debe ser definido usando la función setlocale().