PATHINFO(3) 1 PATHINFO(3)
pathinfo - Returns information about a file path
SYNOPSIS
mixed pathinfo (string $path, [int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME])
DESCRIPTION
pathinfo(3) returns information about $path: either an associative array or a string, depending on $options.
PARAMETERS
o $path
- The path to be parsed.
o $options
- 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.
RETURN VALUES
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 and PATHINFO_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.
CHANGELOG
+--------+--------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+--------------------------------------------+
| 5.2.0 | |
| | |
| | The PATHINFO_FILENAME constant was added. |
| | |
+--------+--------------------------------------------+
EXAMPLES
Example #1
pathinfo(3) Example
<?php
$path_parts = pathinfo('/www/htdocs/inc/lib.inc.php');
echo $path_parts['dirname'], "
";
echo $path_parts['basename'], "
";
echo $path_parts['extension'], "
";
echo $path_parts['filename'], "
"; // since PHP 5.2.0
?>
The above example will output:
/www/htdocs/inc
lib.inc.php
php
lib.inc
Example #2
pathinfo(3) example showing difference between null and no extension
<?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
NOTES
Note
For information on retrieving the current path info, read the section on predefined reserved variables.
Note
pathinfo(3) is locale aware, so for it to parse a path containing multibyte characters correctly, the matching locale must be set
using the setlocale(3) function.
SEE ALSO
dirname(3), basename(3), parse_url(3), realpath(3).
PHP Documentation Group PATHINFO(3)