pathinfo
(PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8)
pathinfo — Retorna informações sobre um caminho de arquivo
Descrição
pathinfo() retorna informações sobre
o caminho em path
: ou um array associativo ou uma string,
dependendo das opções em flags
.
Note:
Para informação sobre obtenção de informação sobre o caminho atual, leia a seção sobre variáveis reservadas predefinidas.
Note:
pathinfo() opera ingenuamente na string de entrada, e não tem ciência sobre o sistema de arquivos real, ou componentes de caminho como "
..
".
Note:
Apenas nos sistemas Windows, o caractere
\
será interpretado como um separador de diretório. Em outros sistemas será tratado como qualquer outro caractere.
pathinfo() é afetado pela localidade, então para que seja interpretado corretamente um caminho contendo caracteres multibyte, a localização correspondente deve ser definida pela função setlocale().
Parâmetros
path
-
O caminho a ser analisado.
flags
-
Se presente, define o elemento expecífico a ser retornado; pode ser
PATHINFO_DIRNAME
,PATHINFO_BASENAME
,PATHINFO_EXTENSION
ouPATHINFO_FILENAME
.Se
flags
não for especificado, retorna todos os elementos disponíveis.
Valor Retornado
Se o parâmetro flags
não for passado, um
array associativo contendo os seguintes elementos é
retornado:
dirname
, basename
,
extension
(se houver), e filename
.
Note:
Se
path
tiver mais de uma extensão,PATHINFO_EXTENSION
retorna apenas a última ePATHINFO_FILENAME
apenas remove a última. (veja o primeiro exemplo abaixo).
Note:
Se
path
não tiver uma extensão, nenhum elementoextension
será retornado (veja o segundo exemplo abaixo).
Note:
Se o
basename
do parâmetropath
começa com um ponto, os seguintes caracteres são interpretados comoextension
, e ofilename
estará vazio (veja o terceiro exemplo abaixo).
Se flags
estiver presente, retorna uma
string contendo o elemento solicitado.
Exemplos
Example #1 Exemplo de pathinfo()
<?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
Example #2 Exemplo de pathinfo() mostrando a diferença entre null e nenhuma extensão
<?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
Example #3 Exemplo de pathinfo() para um arquivo iniciado por ponto
<?php
print_r(pathinfo('/some/path/.test'));
?>
O exemplo acima produzirá algo semelhante a:
Array ( [dirname] => /some/path [basename] => .test [extension] => test [filename] => )
Example #4 Exemplo de pathinfo() com desreferenciação de array
O parâmetro flags
não é uma máscara de bits. Apenas um único valor
pode ser fornecido. Para selecionar apenas um conjunto limitado de valores interpretados, use
desestruturação de array desta forma:
<?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 para o diretório pai
- basename() - Retorna a última parte do caminho
- parse_url() - Analisa uma URL e retorna seus componentes
- realpath() - Retorna o path absoluto canonizado