(PHP 4, PHP 5, PHP 7, PHP 8)
realpath — Retorna la ruta de acceso canónica absoluta
realpath() resuelve todos los enlaces simbólicos, y
reemplaza todas las referencias /./, /../
y / de path luego retorna
la ruta de acceso canónica absoluta así encontrada.
pathLa ruta de acceso a verificar.
Nota:
Debe ser proporcionada una ruta de acceso, el valor puede ser una cadena de caracteres vacía. En estos casos, el valor es interpretado como el directorio actual.
Retorna la ruta de acceso canónica absoluta
así encontrada. El resultado no contiene ningún enlace simbólico,
/./ o /../. Los delimitadores
de fin como \ y / son igualmente eliminados.
realpath() retorna false si ocurre un error, por ejemplo
si el fichero no existe.
Nota:
El script que se ejecuta debe tener los permisos de ejecución sobre todos los directorios de la estructura, de lo contrario, la función realpath() retornará
false.
Nota:
Para los sistemas de archivos insensibles a mayúsculas/minúsculas, realpath() puede o no normalizar la casilla de los caracteres.
Nota:
La función realpath() no funcionará para un fichero que se encuentra dentro de un phar ya que esta ruta sería una ruta de acceso virtual, no una real.
Nota:
En Windows, las uniones y los enlaces simbólicos a los directorios son únicamente extendidos a un nivel.
Nota: Como el tipo entero de PHP es firmado y que muchas plataformas utilizan enteros de 32 bits, algunas funciones relacionadas con el sistema de archivos pueden retornar resultados extraños para archivos de tamaño superior a 2 Go.
Ejemplo #1 Ejemplo con realpath()
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd') . PHP_EOL;
echo realpath('/tmp/') . PHP_EOL;
?>El ejemplo anterior mostrará :
/etc/passwd /tmp
Ejemplo #2 Ejemplo con realpath() en Windows
En Windows, realpath() cambiará las rutas de estilo Unix a rutas de estilo Windows.
<?php
echo realpath('/windows/system32'), PHP_EOL;
echo realpath('C:\Program Files\\'), PHP_EOL;
?>El ejemplo anterior mostrará :
C:\WINDOWS\System32 C:\Program Files