pathinfo
(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
pathinfo — Devuelve información sobre una ruta del sistema
Descripción
Nota:
Para más información sobre la lectura de la ruta actual,
consulte la sección sobre las
variables predefinidas.
Nota:
pathinfo() opera de manera ingenua sobre la cadena de entrada,
y no es consciente de los sistemas de archivos actuales, o de los componentes
de rutas como "..".
Nota:
Solo en sistemas Windows, el carácter \ será
interpretado como separador de directorio. En otros sistemas, será
tratado como cualquier otro carácter.
Precaución
La función pathinfo() es sensible a la configuración local,
por lo tanto, si se desea que analice correctamente una ruta que contenga
caracteres de varios bytes, la configuración local correspondiente debe ser definida
utilizando la función setlocale().
Valores devueltos
Si flags no es utilizado, esta función devolverá
un array asociativo que contiene los siguientes elementos :
dirname, basename,
extension (si existe), y filename.
Nota:
Si path contiene más de una extensión,
PATHINFO_EXTENSION devuelve únicamente la
última y PATHINFO_FILENAME eliminará
únicamente la última también (ver el primer ejemplo a continuación).
Nota:
Si path no tiene extensión, el elemento
extension no será devuelto
(ver el segundo ejemplo a continuación).
Nota:
Si basename del argumento path
comienza con un punto, los caracteres siguientes son interpretados como la
extension, y el filename estará vacío
(ver el tercer ejemplo a continuación).
Si flags es utilizado, esta función devolverá
una string que contiene los elementos.
Ejemplos
Ejemplo #1 Ejemplo con pathinfo()
<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');
echo $path_parts['dirname'], "\n";
echo $path_parts['basename'], "\n";
echo $path_parts['extension'], "\n";
echo $path_parts['filename'], "\n";
?>
El ejemplo anterior mostrará:
/www/htdocs/inc
lib.inc.php
php
lib.inc
Ejemplo #2 Ejemplo pathinfo() sin extensión
<?php
$path_parts = pathinfo('/path/emptyextension.');
var_dump($path_parts['extension']);
$path_parts = pathinfo('/path/noextension');
var_dump($path_parts['extension']);
?>
Resultado del ejemplo anterior es similar a:
string(0) ""
Notice: Undefined index: extension in test.php on line 6
NULL
Ejemplo #3 Ejemplo con pathinfo()
<?php
print_r(pathinfo('/some/path/.test'));
?>
Resultado del ejemplo anterior es similar a:
Array
(
[dirname] => /some/path
[basename] => .test
[extension] => test
[filename] =>
)
Ejemplo #4 Ejemplo de pathinfo() con desestructuración de array
El argumento flags no es una máscara de bits. Solo un valor
puede ser proporcionado. Para seleccionar únicamente un conjunto limitado de valores analizados, utilice
la desestructuración de array como se muestra a continuación:
<?php
['basename' => $basename, 'dirname' => $dirname] = pathinfo('/www/htdocs/inc/lib.inc.php');
var_dump($basename, $dirname);
?>
Resultado del ejemplo anterior es similar a:
string(11) "lib.inc.php"
string(15) "/www/htdocs/inc"
Ver también
- dirname() - Devuelve la ruta de la carpeta padre
- basename() - Devuelve el nombre del componente final de una ruta
- parse_url() - Analiza una URL y devuelve sus componentes
- realpath() - Retorna la ruta de acceso canónica absoluta