pathinfo
(PHP 4 >= 4.0.3, PHP 5)
pathinfo — Devuelve información acerca de la ruta de un fichero
Descripción
$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.
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_EXTENSIONyPATHINFO_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
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).
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
Notas
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().
Ver también
- dirname() - Devuelve el directorio padre de la ruta
- 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