(PHP 4, PHP 5)
realpath — Devuelve el nombre de la ruta absoluta canonizada
$path
)
realpath() expande todos los enlaces simbólicos y
resuelve las referencias de caracteres '/./', '/../' y '/' extra, en
el path
de entrada y devuevle el nombre de la ruta
absoluta canonizada.
path
La ruta que se va a ser comprobada.
Nota:
Aunque se debe proporcionar una ruta, el valor puede estar en blanco o ser
NULL
. En estos casos, el valor es interpretado como el directorio actual.
Devuelve el nombre de la ruta absoluta canonizada si se tiene éxito. La ruta resultante no tendrá componentes de enlaces simbólicos, '/./' o '/../'.
realpath() devuelve FALSE
si falla, p.ej. si
el fichero no existe.
Nota:
El script en ejecución debe tener permisios de ejecución en todos los directorios de la jerarquía, si no, realpath() devolverá
FALSE
.
Nota: Debido a que el tipo ingeger de PHP es con signo y muchas plataformas usan enteros de 32bit, algunas funciones de sistema de ficheros pueden devolver resultados inesperados para ficheros que son mayores de 2GB.
Versión | Descripción |
---|---|
5.3.0 |
Antes de esta versión, si en sistemas *BSD el último compnente de path
no existía, realpath() no fallaba. Ahora
realpath() también falla en este caso.
|
5.0.0 |
Antes de esta versión, el parámetro path en blanco o NULL
ocasionaba que realpath() devolviera el nombre del directorio del script.
|
Ejemplo #1 Ejemplo de realpath()
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd');
?>
El resultado del ejemplo sería:
/etc/passwd
Ejemplo #2 realpath() en Windows
En windows realpath() cambiará las rutas del estilo unix al estilo windows.
<?php
echo realpath('/windows/system32');
?>
El resultado del ejemplo sería:
C:\WINDOWS\System32