(PHP 4 >= 4.0.3, PHP 5)
pathinfo — Devuelve información acerca de la ruta de un fichero
$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.
  
pathLa 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.
      
   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.
  
| 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
$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
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().