Ver Mensaje Individual
  #2 (permalink)  
Antiguo 24/07/2010, 11:46
Avatar de perryjr
perryjr
 
Fecha de Ingreso: julio-2010
Ubicación: Granada, Spain, Spain
Mensajes: 190
Antigüedad: 14 años, 4 meses
Puntos: 27
Respuesta: Problema con las urls de los include

O mucho me equivoco o tu archivo "classes/Proyecto.php" está intentando pedir el archivo "lasses/AccesoBD.php" y eso va a resultar en pedir el archivo "/classes/classes/AccesoBD.php"

La solución? 3 maneras.

La primera sería meter tu las direcciones. Es decir poner la ruta con dos puntos, o sin carpeta en este caso porque están en la misma.

ADVERTENCIA: Recuerda que incluir un archivo PHP en la práctica sería algo así como meterlo en el que lo pide. Por ejemplo: Proyecto.php pide AccesoDB y es como si el código de AccesoDB estuviera insertado en Proyecto.php, con lo cual cualquier referencia a otros include's que tengas en AccesoDB se procesarían como si estuvieran en Proyecto.php y lo que en un principio está bien, si lo incluyes desde otra página en alguna otra subcarpeta podría estar mal

2ª método: puede que no te convenga, pero si te sirve, pues voilà!: usar direcciones absolutas a los archivos. ejemplo en windows: C:/xampp/xamppfiles/... Es poco práctico porque si mueves los archivos, se cambian las carpetas.

3er método(es el que uso yo ): Inicializa una variable algo así como $root_path o algo así en cada archivo que se vaya a pedir al servidor(es decir, dudo mucho que AccesoDB.php sea una página, simplemente es código para incluir no? lo metes en páginas como index.php). En la variable metes la ruta con dos puntos, carpetas, etc a un directorio base que tu elijas(psycotrip, por ejemplo) y luego la usas en los include's para poner la ruta.

Ejemplo:

index.php:
Código PHP:
Ver original
  1. <?php
  2. $root_path = '../'; // Hacemos referencia a la carpeta psycotrip
  3. include($root_path . 'classes/Proyecto.php');
  4. ?>

Proyecto.php
Código PHP:
Ver original
  1. <?php
  2. // Recuerda que al incluir el archivo tendrás acceso a la variable global $root_path
  3. include($root_path . 'classes/AccesoDB.php');
  4. ?>

etc.....

Así estés donde estés e incluyas el archivo que incluyas tendrás una referencia a la carpeta base que te ayudará a construir las direcciones.