Returns information about a file path (original) (raw)
pathinfo
(PHP 4 >= 4.0.3, PHP 5, PHP 7)
pathinfo — Returns information about a file path
Description
pathinfo ( string $path
[, int $options
= PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] ) : mixed
Note:
For information on retrieving the current path info, read the section on predefined reserved variables.
Caution
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.
Parameters
path
The path to be parsed.
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, noextension
element will be returned (see second example below).
Note:
If the
basename
of thepath
starts with a dot, the following characters are interpreted asextension
, and thefilename
is empty (see third example below).
If options
is present, returns astring containing the requested element.
Changelog
Version | Description |
---|---|
5.2.0 | The PATHINFO_FILENAME constant was added. |
Examples
Example #1 pathinfo() Example
`<?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
Example #2 pathinfo() 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
Example #3 pathinfo() example for a dot-file
<?php print_r(pathinfo('/some/path/.test')); ?>
The above example will output something similar to:
Array ( [dirname] => /some/path [basename] => .test [extension] => test [filename] => )
See Also
- dirname() - Returns a parent directory's path
- basename() - Returns trailing name component of path
- parse_url() - Parse a URL and return its components
- realpath() - Returns canonicalized absolute pathname