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
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.
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