Problemas con Include, Raíz...

Hola!
Mira el siguiente problema con el que me he encontrado:
Tengo una página llamada CONTENT.php donde voy incluyendo diferente elementos con php include.
Uno de los elementos es otra página que contiene el Menu de mi web, y que llama a algunos gif almacenados en una carpeta llamada MENU (ubicada en la raíz).
Pues he tenido que generar otro CONTENT.php dentro de una carpeta llamada AUDIO, para incluir archivos alojados en esa carpeta porque sino me daban problema por la ubicación.
Para el menú, he tenido que copiar y pegar la carpeta MENU de la raíz, dentro de esa carpeta AUDIO, y ahora incluyo el menú desde ahí, porque tenía problemas con raíces y esas cosas.
El gran problema surge cuando, al pulsar en menú en algún link, me intenta tomar el link desde dentro de la carpeta. Y, evidentemente no funciona porque todas las otras páginas están en la raíz.
Al final he acabado con menu.php en raíz y en .. Audio/, y con la carpeta Menu en raíz y en audio.
¿Cuál es la forma más correcta para evitar todas estas repeticiones?
Gracias!
Respuesta
1
Lo más lógico es que la página content.php de audio la saques al raíz y la llames por ejemplo content_audio.php.
Usas así el menú y sus enlaces sin duplicar datos ni carpetas.
Una forma lógica de trabajar con includes es (según tu casa que comentas que lo usas bastante) crear una carpeta "include" en ella metes el menú, la carpeta de imágenes, etc. y después desde cualquier parte de la página llamas a ese menú que siempre tendrá los enlaces correctamente definidos, tanto a otras páginas como a las imágenes. Hacerlo como lo has hecho da lugar a muchos problemas, sobre todo cuando tienes que modificar la página pasado un tiempo ya que hay ficheros duplicados que debes modificar y un montón de enlaces que debes cambiar.
Cuando diseñas una página una de las primeras cosas que debes hacer es estudiar como vas a distribuir los ficheros.
Te aconsejaría crear siempre una misma estructura en todas tus páginas, por ejemplo:
Raíz: index y nada más
Contenido: páginas de contenido, incluido en tu caso el menú si es independiente.
Imágenes: todas las imágenes, que luego puedes dividir en carpetas si lo necesitas
Css: donde guardas todas las hojas de estilo
Scripts: funciones en javascript, php, etc. (yo siempre saco todas las funciones a uno o varios ficheros, no los dejo en el código de las páginas de contenido)
Hacerlo de otra forma te crea problemas como el que tienes en las que las llamadas acaban siendo circulares.
Si me das más datos de como lo tienes te aconsejo una estructura.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas