Esta es una entrada un tanto informativa, que tenía algo pendiente y al ver algunos detalles en unos códigos en la web me decidí a compartir.
Al hablar de las
rutas en PHP podemos decir que tenemos dos maneras de implementarlas
1.-
Rutas Absolutas: son aquellas en la que colocamos toda la url del archivo que queremos incluir, mencionar, etc, un ejemplo:
archivo http://tusitio.com/archivos/incluir.php
esta es la ruta de un archivo alojado en tusitio.com en la carpeta archivos el archivo incluir.php
$hola = "Hola Mundo!!";
index.php
require_once('http://tusitio.com/archivos/incluir.php');
echo $hola;
el resultado sería hola mundo en nuestro navegador, ya que incluimos el archivo por medio de una ruta absoluta, fácil verdad??
2.-
Rutas Relativas: Las rutas relativas son un poco mas complejas de explicar, pero sin embargo una vez que entendemos es sencillo saber como llegar desde donde estamos hasta el archivo que queremos llegar, veamos con un ejemplo para ser más específico
estructura del sitio
htdocs/
...images/
......image.png
......logo.jpg
......mygif.gif
...css/
......style.css
...js
......myJs.js
...index.php
...procesos/
......miProceso.php
...class/
......myClass.php
supongamos que en el index queremos incluir a miProceso.php, tendriamos que hacer lo siguiente
require_once('procesos/miProceso.php');
lo que indicamos con esta ruta es que desde index.php vaya a la carpeta proceso e incluya el archivo miProceso.php
fácil verdad??
Pero que pasa cuando el archivo no esta en una carpeta del mismo nivel, sino que tenemos que salir de nuestra carpeta para llegar al sitio?? debemos utilizar '../' para subir un nivel fuera de nuestra carpeta, es decir, si quicieramos incluir a myClass.php dentro de miProceso.php tendríamos que realizar lo siguiente
require_once('../class/myClass.php');
que hicimos??
al hacer "../" subimos un nivel, es decir subimos desde la carpeta procesos a la carpeta htdocs, una vez en la carpeta htdocs entramos a la carpeta class ("class/") e incluimos el archivo myClass.php dentro de el archivo miProceso.php
podemos dentro de las rutas relativas subir niveles e ingresar en carpetas tantas veces como sea necesarío, ver algo como esto
../../carpeta1/carpeta2/archivo.php
es una ruta correcta en esta subimos dos niveles y entramos en la carpeta2 que a su vez esta en la carpeta1
espero que sea de ayuda esta entrada, saludos