(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
pathinfo — Devuelve información sobre una ruta del sistema
pathinfo() devuelve información sobre la ruta
path, en forma de string o array asociativo, dependiendo del argumento flags.
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.
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().
pathLa ruta a analizar.
flags
Especifica qué elemento será devuelto. Puede pasar una de las constantes
PATHINFO_DIRNAME,
PATHINFO_BASENAME,
PATHINFO_EXTENSION y
PATHINFO_FILENAME.
Si flags no es especificado,
todos los elementos son 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
pathcontiene más de una extensión,PATHINFO_EXTENSIONdevuelve únicamente la última yPATHINFO_FILENAMEeliminará únicamente la última también (ver el primer ejemplo a continuación).
Nota:
Si
pathno tiene extensión, el elementoextensionno será devuelto (ver el segundo ejemplo a continuación).
Nota:
Si
basenamedel argumentopathcomienza con un punto, los caracteres siguientes son interpretados como laextension, y elfilenameestará vacío (ver el tercer ejemplo a continuación).
Si flags es utilizado, esta función devolverá
una string que contiene los elementos.
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"