Incluir rutas absolutas y relativas en PHP
- Rutas absolutas y relativas en PHP
-
Utilice
include()
ydirname()
para 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 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