pathinfo
(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
pathinfo — Returns information about a file path
Descrição
pathinfo(string $path
, int $flags
= PATHINFO_ALL
): array|string
Nota:
For information on retrieving the current path info, read
the section on
predefined reserved variables.
Nota:
pathinfo() operates naively on the input string,
and is not aware of the actual filesystem, or path components such
as "..
".
Nota:
On Windows systems only, the \
character will
be interpreted as a directory separator. On other systems it will
be treated like any other character.
Cuidado
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.
Parâmetros
-
path
-
The path to be parsed.
-
flags
-
If present, specifies a specific element to be returned; one of
PATHINFO_DIRNAME
,
PATHINFO_BASENAME
,
PATHINFO_EXTENSION
or
PATHINFO_FILENAME
.
If flags
is not specified, returns all
available elements.
Valor Retornado
If the flags
parameter is not passed, an
associative array containing the following elements is
returned:
dirname
, basename
,
extension
(if any), and filename
.
Nota:
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).
Nota:
If the path
does not have an extension, no
extension
element will be returned
(see second example below).
Nota:
If the basename
of the path
starts
with a dot, the following characters are interpreted as
extension
, and the filename
is empty
(see third example below).
If flags
is present, returns a
string containing the requested element.
Exemplos
Exemplo #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";
?>
O exemplo acima produzirá:
/www/htdocs/inc
lib.inc.php
php
lib.inc
Exemplo #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']);
?>
O exemplo acima produzirá
algo semelhante a:
string(0) ""
Notice: Undefined index: extension in test.php on line 6
NULL
Exemplo #3 pathinfo() example for a dot-file
<?php
print_r(pathinfo('/some/path/.test'));
?>
O exemplo acima produzirá
algo semelhante a:
Array
(
[dirname] => /some/path
[basename] => .test
[extension] => test
[filename] =>
)
Exemplo #4 pathinfo() example with array dereferencing
The flags
parameter is not a bitmask. Only a single value
may be provided. To select only a limited set of parsed values, use array
destructuring like so:
<?php
['basename' => $basename, 'dirname' => $dirname] = pathinfo('/www/htdocs/inc/lib.inc.php');
var_dump($basename, $dirname);
?>
O exemplo acima produzirá
algo semelhante a:
string(11) "lib.inc.php"
string(15) "/www/htdocs/inc"
Veja Também
- dirname() - Retorna o caminho/path do diretório pai
- basename() - Retorna a última parte do caminho
- parse_url() - Parse a URL and return its components
- realpath() - Returns canonicalized absolute pathname