Funciones del Sistema de Archivos
PHP Manual

realpath

(PHP 4, PHP 5, PHP 7)

realpathDevuelve el nombre de la ruta absoluta canonizado

Descripción

string realpath ( string $path )

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.

Parámetros

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.

Valores devueltos

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.

Historial de cambios

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.2.1 Antes de esta versión, realpath() devolvía FALSE si path era un string vacío o NULL.

Ejemplos

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

Ver también


Funciones del Sistema de Archivos
PHP Manual