array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.dirname.php', 1 => 'dirname', ), 'up' => array ( 0 => 'ref.filesystem.php', 1 => 'Funções do sistema de arquivos', ), 'prev' => array ( 0 => 'function.delete.php', 1 => 'delete', ), 'next' => array ( 0 => 'function.disk-free-space.php', 1 => 'disk_free_space', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/filesystem/functions/dirname.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
dirname — Retorna o caminho para o diretório pai
Dada uma string contendo um caminho para um arquivo ou diretório, esta função
irá retornar o caminho do diretório pai que é
levels
acima do diretório atual.
Nota:
dirname() opera ingenuamente sobre a string de entrada, e não tem conhecimento do sistema de arquivos real, ou componentes de caminho de diretório como "
..
".
No Windows, dirname() assume o código de página atual, portanto para que possa
ver os nomes corretos de diretório com caracteres multi-byte, o código de página correspondente deve
ser configurado.
Se path
contiver caracteres que são inválidos para o código
de página ativo, o comportamento de dirname() será indefinido.
Em outros sistemas, dirname() assume que path
estará codificado em formato compatível com ASCII. Caso contrário o comportamento da
função será indefinido.
path
Um caminho.
No Windows, tanto a barra (/
) quanto a
barra invertida (\
) são usadas como caractere
separador de diretório. Em outros ambientes, é utilizada a barra (/
).
levels
O número de diretórios pai para subir.
Deve ser um inteiro maior que 0.
Retorna o caminho do diretório pai. Se não houver nenhuma barra no
path
, um ponto ('.
') é retornado,
indicando o diretório atual. Do contrário, a string retornada é o
path
com qualquer /componente
ao final da string removido.
Deve-se tomar cuidado ao usar esta função em um loop que alcança o diretório raiz pois isto pode resultar em um loop infinito.
<?php
dirname('.'); // Retornará '.'.
dirname('/'); // Retornará `\` no Windows e '/' em sistemas *nix.
dirname('\\'); // Retornará `\` no Windows e '.' em sistemas *nix.
dirname('C:\\'); // Retornará 'C:\' no Windows e '.' em sistemas *nix.
?>
Versão | Descrição |
---|---|
7.0.0 |
Adicionado o parâmetro opcional levels .
|
Exemplo #1 Exemplo de dirname()
<?php
echo dirname("/etc/passwd") . PHP_EOL;
echo dirname("/etc/") . PHP_EOL;
echo dirname(".") . PHP_EOL;
echo dirname("C:\\") . PHP_EOL;
echo dirname("/usr/local/lib", 2);
O exemplo acima produzirá algo semelhante a:
/etc / (ou \ no Windows) . C:\ /usr