realpath

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

realpathRetorna la ruta de acceso canónica absoluta

Descripción

realpath(string $path): string|false

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.

Parámetros

path

La 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.

Valores devueltos

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.

Ejemplos

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

Ver también

  • basename() - Devuelve el nombre del componente final de una ruta
  • dirname() - Devuelve la ruta de la carpeta padre
  • pathinfo() - Devuelve información sobre una ruta del sistema