realpath

(PHP 4, PHP 5, PHP 7, PHP 8)

realpathRetorna o path absoluto canonizado

Descrição

realpath(string $path): string|false

realpath() expande todas as ligações simbólicas e resolve referências para /./, /../ e caracteres / extras no caminho path, e retorna o caminho absoluto canonizado.

Parâmetros

path

O caminho a ser verificado.

Note:

Ainda que caminho precise ser fornecido, o valor pode ser uma string vazia. Neste caso, o valor é interpretado como o diretório atual.

Valor Retornado

Retorna o caminho absouto canonizado em caso de sucesso. O caminho resultante não conterá nenhuma ligação simbólica ou componentes /./ e /../. Delimitadores no final da string, como \ e /, também são removidos.

realpath() retorna false em caso de falha, por exemplo, se o caminho não existir.

Note:

O script em execução deve ter permissões de executável em todos os diretórios na hierarquia, caso contrário realpath() retornará false.

Note:

Para sistemas de arquivos insensíveis a maiúsculas/minúsculas, realpath() pode ou não normalizar a forma maiúscula/minúscula do caractere.

Note:

A função realpath() não funcionará para um arquivo que estiver dentro de um Phar pois este caminho será virtual, e não real.

Note:

No Windows, junções e ligações simbólicas a diretórios somente são expandidas em um nível.

Note: Como o tipo inteiro do PHP possui sinal e muitas plataformas usam números inteiros de 32 bits, algumas funções do sistema de arquivos podem retornar resultados inesperados para arquivos maiores que 2GB.

Exemplos

Example #1 Exemplo de realpath()

<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd') . PHP_EOL;

echo realpath('/tmp/') . PHP_EOL;
?>

O exemplo acima produzirá:

/etc/passwd

Example #2 realpath() no Windows

No Windows, realpath() modificará o estilo Unix de diretórios para o estilo Windows.

<?php
echo realpath('/windows/system32'), PHP_EOL;

echo realpath('C:\Program Files\\'), PHP_EOL;
?>

O exemplo acima produzirá:

C:\WINDOWS\System32
C:\Program Files

Veja Também

  • basename() - Retorna a última parte do caminho
  • dirname() - Retorna o caminho para o diretório pai
  • pathinfo() - Retorna informações sobre um caminho de arquivo