
index.php (raiz)
|
|
|--Conections/conexion001.php, closeconexion.php, etc...
|
|---Envios /index.php, stok.php, etc...
|
|---Pedidos/2006/resumen/index.php, etc....
|
|--- ETC, ETC...
Tengo una aplicacion en un directorio "envios/stok.php", en el cual se hace varias consultas y se ejecutan varios script para lo hago un include de un archivo de otro directorio "Conections" de la forma:
stok.php
-----------
<? script ... ?> (varios)
<?
include "../Conections/conexion001.php";
bla bla bla
include "../Conections/closeconexion.php";
?>
En la pagina envios/index.php hago un include de la forma:
-------
<? include "../envios/stok.php"; ?>
hasta aqui todo bien.

<? include "envios/stok.php"; ?>
Pues me da error!! por que en stok.php tambien hice un include (include "../Conections/conexion001.php";) que en el index principal ya no lo reconoce... es decir no encuentra la Ruta
Tambien se da este caso cuando intento llamar a stok.php en el index.php de una subcarpeta "pedidos/2006/resumen/index.php"
El problema es la ruta relativa que al hacer include hereda la ruta de la pagina actual.
Bueno hize un codigo que me ayudaba a resoverlo pero note que se ponia un poco lenta la pagina. Aqui el Codigo:
<?
$web = explode("/",$_SERVER["SCRIPT_NAME"]); // ruta en la q se encuentra la pagina
$num_web = count($web)-2;
if ($num_web == 0 ) {$arbol = "";}
if ($num_web == 1 ) {$arbol = "../";}
if ($num_web == 2 ) {$arbol = "../../";}
if ($num_web == 3 ) {$arbol = "../../../";}
if ($num_web == 4 ) {$arbol = "../../../../";}
include $arbol."Conections/conexion001.php";
//include $arbol."Conections/closeconexion.php";
De esta manera podria llamar desde cualquier subdirectorio;
?>
Bueno esta fue una solucion q encontre pero como dije parece hacerce lento.
Espero q m hayan entendido y me puedan ayudar, esoty seguro q existe otra solucion menos tediosa.
Gracias.