pathinfo() returns information about path
: either an associative array or a string, depending on options
.
The path to be parsed.
If present, specifies a specific element to be returned; one of PATHINFO_DIRNAME
, PATHINFO_BASENAME
, PATHINFO_EXTENSION
or PATHINFO_FILENAME
.
If options
is not specified, returns all available elements.
If the options
parameter is not passed, an associative array containing the following elements is returned: dirname, basename, extension (if any), and filename.
Note:
If the
path
has more than one extension,PATHINFO_EXTENSION
returns only the last one andPATHINFO_FILENAME
only strips the last one. (see first example below).
Note:
If the
path
does not have an extension, no extension element will be returned (see second example below).
If options
is present, returns a string containing the requested element.
The PATHINFO_FILENAME
constant was added.
For information on retrieving the current path info, read the section on predefined reserved variables.
pathinfo() is locale aware, so for it to parse a path containing multibyte characters correctly, the matching locale must be set using the setlocale() function.
1 2 3 4 5 6 7 8 | <?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" ; // since PHP 5.2.0 ?> |
The above example will output:
/www/htdocs/inc lib.inc.php php lib.inc
1 2 3 4 5 6 7 | <?php $path_parts = pathinfo ( '/path/emptyextension.' ); var_dump( $path_parts [ 'extension' ]); $path_parts = pathinfo ( '/path/noextension' ); var_dump( $path_parts [ 'extension' ]); ?> |
The above example will output something similar to:
string(0) "" Notice: Undefined index: extension in test.php on line 6 NULL
Please login to continue.