(PHP 4, PHP 5, PHP 7)
realpath — Devuelve el nombre de la ruta absoluta canonizado
$path
) : string
realpath() expande todos los enlaces simbólicos y
resuelve las referencias de caracteres '/./', '/../' y '/' extra, en
la ruta de entrada dada por path
y devuelve el
nombre de la ruta absoluta canonizado.
path
La ruta que 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 canonizado en caso de éxito. La ruta resultante no tendrá componentes de enlaces simbólicos, '/./' o '/../'. Los delimitadores finales, como \ y /, también son eliminados.
realpath() devuelve FALSE
en caso de error, 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, de lo contrario realpath() devolverá
FALSE
.
Nota:
Para sistema de ficheros que no tengan en cuenta las mayúsculas/minúsculas, realpath() podría o no normalizar las mayúsculas/minúsculas de cada carácter.
Nota: Debido a que el tipo integer de PHP es con signo y muchas plataformas usan enteros de 32 bits, algunas funciones de sistema de ficheros pueden devolver resultados inesperados para ficheros que son mayores de 2 GB.
Versión | Descripción |
---|---|
5.3.0 |
Antes de esta versión, si en sistemas *BSD el último componente de path
no existía, realpath() no fallaba. Ahora
realpath() también falla en este caso.
|
5.2.1 |
Antes de esta versión, realpath() devolvía FALSE
si path era un string vacío o NULL .
|
Ejemplo #1 Ejemplo de realpath()
<?php
chdir('/var/www/');
echo realpath('./../../etc/passwd') . PHP_EOL;
echo realpath('/tmp/') . PHP_EOL;
?>
El resultado del ejemplo sería:
/etc/passwd /tmp
Ejemplo #2 realpath() en Windows
En windows realpath() cambiará las rutas del estilo unix al estilo windows.
<?php
echo realpath('/windows/system32');
echo realpath('C:\Archivos de programa\\');
?>
El resultado del ejemplo sería:
C:\WINDOWS\System32 C:\Archivos de programa