Foros del Web » Programando para Internet » PHP »

Link en include

Estas en el tema de Link en include en el foro de PHP en Foros del Web. Mis dudas son las siguiente... si yo tengo esta estructura de directorios en mi sitio index /productos/index.php /productos/tipo1/index.php /productos/tipo1/producto1.php En todos estos archivos tengo el ...
  #1 (permalink)  
Antiguo 18/06/2008, 08:48
Avatar de lbenz  
Fecha de Ingreso: marzo-2003
Ubicación: Haedo
Mensajes: 445
Antigüedad: 21 años, 1 mes
Puntos: 4
Link en include

Mis dudas son las siguiente...

si yo tengo esta estructura de directorios en mi sitio


index
/productos/index.php
/productos/tipo1/index.php
/productos/tipo1/producto1.php


En todos estos archivos tengo el mismo include que esta en el root de mi servidor, este include tiene el menu.

hay algun codigo para que el menu ande siempre bien... o sea por el tema de los directorios...

Se entiende¿?

lo mismo me pasa con las imagenes...

al alguna manera de configurar o solo poner la ruta completa de imagenes y links

tipo http://www.misitio.com.ar/productos/index.php
__________________
que fea firma que tenia... prefiero tener esto
  #2 (permalink)  
Antiguo 18/06/2008, 08:51
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Link en include

lo que pasa es que mientras mas profundo entres a las carpetas, debes usar las rutas.... relativas

personalmente, yo uso el index.php general.... y ya, no tengo que liar con subdirectorios... a sabiendas de que tengo estructurado todo (en miles de carpetas), es la ventaja de usar un framework y no PHP a pelo...

suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 18/06/2008, 08:58
 
Fecha de Ingreso: agosto-2007
Ubicación: En el lugar menos pensado
Mensajes: 83
Antigüedad: 16 años, 8 meses
Puntos: 2
Respuesta: Link en include

Hola

Bueno, yo la verdad no lo he intentado, pero he leido que cuando instalas apache el te da la posibilidad de cambiar localhost por un dominio virtual local, en cuyo caso pondrias el dominio que tienes en web, y asi en teoria, los directorios tendrian las mismas direcciones, no lo he probado insisto, es solo algo que recuerdo haber visto, suerte
  #4 (permalink)  
Antiguo 18/06/2008, 09:36
Avatar de lbenz  
Fecha de Ingreso: marzo-2003
Ubicación: Haedo
Mensajes: 445
Antigüedad: 21 años, 1 mes
Puntos: 4
Respuesta: Link en include

el tema seria como poner en flash root.

algun codigo por ejemplo.

root/productos/tipo1/index.php

eso lo que quiero.. algun como que de entrada nos lleve al root y de ahi largue con el directorio
__________________
que fea firma que tenia... prefiero tener esto
  #5 (permalink)  
Antiguo 18/06/2008, 11:32
Avatar de Naguissa  
Fecha de Ingreso: junio-2008
Mensajes: 37
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Link en include

¿Y si pones las rutas completas? Puedes definir una variable con el servidor o la ruta y usarla en todos los enlaces. Por ejemplo:
<?
$raiz = "/var/home/naguissa";
include( $raiz."/miarchivo.php");
?>

o de manera análoga para los enlaces:
<? $servidor = "http://www.naguissa.com"; ?>
<a href="<?= $servidor ?>/pag1.php">....

Así, cambiando $raiz y $servidor puedes cambiar la aplicación de dominio.
  #6 (permalink)  
Antiguo 18/06/2008, 12:13
Avatar de lbenz  
Fecha de Ingreso: marzo-2003
Ubicación: Haedo
Mensajes: 445
Antigüedad: 21 años, 1 mes
Puntos: 4
Respuesta: Link en include

voy a probar esto ultimo... creo que es fabuloso.. si funciona.. una pregunta...
en el segundo caso...

en donde tendria que poner

<? $servidor = "http://www.naguissa.com"; ?>

en el header, body o en donde?

te agradezco creo que esta es la gran solucion
__________________
que fea firma que tenia... prefiero tener esto
  #7 (permalink)  
Antiguo 18/06/2008, 13:18
Avatar de Naguissa  
Fecha de Ingreso: junio-2008
Mensajes: 37
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Link en include

Lo puedes poner en cualquier parte, pero siempre antes de usarlo, con lo que al principio del archivo será el mejor sitio. En mi caso, tengo las variables dedfinidas en un archivo llamado config.inc.php, al cual llamo manualmente desde cada archivo PHP que creo, pero a partir de ahí todas las llamadas son siempre igual:

<?
require_once("comun/__config.inc.php");
require_once($config["BASE_PATH"]."comun/__conecta.inc.php");
require_once($config["BASE_PATH"]."comun/__cookies.inc.php");

[mas abajo]


include $config["BASE_PATH"]."comun/__cabecera.inc.php";
include $config["BASE_PATH"]."comun/__banner_top.inc.php";

[...]
?>

En este caso puedes observar que primero llamo a la configuración, luego activo la conexión a la BBDD (no siempre es necesária), luego hago una gestión de cookies.

El archivo de configuración define las rutas ( $config["BASE_URL"] para los enlaces y $config["BASE_PATH"] para los includes PHP).

Mas adelante, cargo la cabecera de la web, que incluye el menú de login, el logo de la web y el menú de navegación.

Finalmente cargo el banner superior de la web.

Copiando esta estructura y cambiando el 1er include funciona en cualquier carpeta.



EDIT:

Por lo que veo, en tu caso quieres las URL. Entonces, la solución quedaría:

menu.inc.php:
<?
$config["BASE_URL"] = "http://www.naguissa.com";
?>
<a href="<?= $config["BASE_URL"] ?>/dir1/pag1.php">Enlace 1</a><br />
<a href="<?= $config["BASE_URL"] ?>/dir2/pag2.php">Enlace 2</a><br />
<a href="<?= $config["BASE_URL"] ?>/dir3/pag3.php">Enlace 3</a><br />


Ahora, cuando lo necesitases bastaría hacer:

<? include( "../../menu.inc.php"); ?>

en cualquier archivo PHP, cambiando el "../../" por la ruta necesaria para hacerlo funcionar.

Última edición por Naguissa; 18/06/2008 a las 13:29
  #8 (permalink)  
Antiguo 18/06/2008, 13:27
Avatar de lbenz  
Fecha de Ingreso: marzo-2003
Ubicación: Haedo
Mensajes: 445
Antigüedad: 21 años, 1 mes
Puntos: 4
Respuesta: Link en include

ha no... es exelente.... muy buena...naguissa, gracias miles...

que lindo anda.. no queria nada complicado, queria solo cimplificarme.. y listo, con esto se me simplifico la vida...

gracias
__________________
que fea firma que tenia... prefiero tener esto
  #9 (permalink)  
Antiguo 18/06/2008, 13:30
Avatar de Naguissa  
Fecha de Ingreso: junio-2008
Mensajes: 37
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Link en include

He editado el post anterior, pero he llegado tarde.... Te dejo este mensaje para que veas que hay respuesta.
  #10 (permalink)  
Antiguo 18/06/2008, 13:41
Avatar de lbenz  
Fecha de Ingreso: marzo-2003
Ubicación: Haedo
Mensajes: 445
Antigüedad: 21 años, 1 mes
Puntos: 4
Respuesta: Link en include

buenisimo
te vuelvo a agradecer
__________________
que fea firma que tenia... prefiero tener esto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:46.