Incluir rutas absolutas y relativas en PHP

Olorunfemi Akinlua 12 julio 2022
  1. Rutas absolutas y relativas en PHP
  2. Utilice include() y dirname() para incluir rutas absolutas y relativas en PHP
Incluir rutas absolutas y relativas en PHP

Ya sea en servidores o PC locales, la ruta desde la que está ejecutando su programa PHP marca la diferencia y es importante. Si está ejecutando en el directorio incorrecto, es importante comprender cómo usar los dos tipos de rutas, relativa y absoluta.

Aunque ambos son importantes, a menudo podemos usar rutas absolutas, especialmente dentro del contexto de toda la aplicación PHP en lugar de rutas absolutas.

Este artículo explicará cómo usar o incluir rutas absolutas y relativas dentro de PHP.

Rutas absolutas y relativas en PHP

Ya sea dentro de una aplicación PHP o de nuestras computadoras locales, la ruta absoluta es la ubicación del archivo o directorio en relación con el directorio raíz del sistema. Sin embargo, una ruta relativa apunta a una ubicación específica en un sistema de archivos en relación con el directorio actual.

Esta es una ruta absoluta en Unix o Linux:

/home/user/devs

En una PC con Windows, la ruta absoluta se ve así:

C:\AMD\Chipset_Software

Sin embargo, el sistema de rutas de Linux se usa a menudo para la mayoría de los servidores PHP.

Sin embargo, una ruta relativa puede verse así:

../devs

El fragmento de código anterior representará el directorio principal del directorio devs, y puede usar el mismo .. en Windows. Digamos que está en el directorio C:\Users\HP\Documents; puede ir al directorio de descargas, que es un elemento secundario de HP, mediante el siguiente comando:

cd ..\Downloads

Utilice include() y dirname() para incluir rutas absolutas y relativas en PHP

Para acceder a la ruta absoluta y relativa, necesitamos la función dirname() y una constante mágica llamada __FILE__. La constante mágica __FILE__ devuelve la ruta completa y el nombre del archivo PHP que se está ejecutando.

La función dirname() devuelve la ruta del directorio padre. Cuando usamos la función __FILE__ y dirname() juntas, podemos obtener la ruta raíz absoluta del archivo que estamos manejando, dado que el archivo con el que estamos interactuando a través de una palabra clave include está dentro del mismo directorio .

include(dirname(__FILE__).'/functions.php');

El resultado del dirname(__FILE__) es:

/home/runner/ScholarlyOvalFirewall

Sin embargo, supongamos que el archivo PHP con el que interactuamos está dentro del directorio principal del directorio de trabajo actual. En ese caso, podemos usar la constante __DIR__ ya que devuelve el directorio del archivo actual sin la barra diagonal final.

include(dirname(__DIR__).'/functions.php');

El resultado del dirname(__FILE__) es:

/home/runner/

Digamos que tenemos la intención de trabajar solo con rutas relativas, podemos hacerlo creando la siguiente función:

function relativepath($to){
    $a=explode("/",dirname(__FILE__));
    $index= array_search("$to",$a);
    $str="";
    for ($i = 0; $i < count($a)-$index-2; $i++) {
        $str.= "../";
    }
    return $str;
    }

$st = relativepath('main.php');
echo $st;

El argumento de la función es el nombre del archivo PHP, y funciona dividiendo la cadena de ruta absoluta en una matriz a través del símbolo / y buscando el archivo PHP especificado. Posteriormente, la serie de ../ se agrega a la variable $str para darnos la ruta relativa a la raíz.

Además, podemos definir la ruta raíz usando la función dirname(), la función define() y cualquier constante mágica __DIR__ y __FILE__, según sus necesidades.

define('ROOT_PATH', dirname(__DIR__) . '/');

El ROOT_PATH ahora es /home/runner.

Olorunfemi Akinlua avatar Olorunfemi Akinlua avatar

Olorunfemi is a lover of technology and computers. In addition, I write technology and coding content for developers and hobbyists. When not working, I learn to design, among other things.

LinkedIn