Foros del Web » Programando para Internet » PHP »

El Include Apesta!

Estas en el tema de El Include Apesta! en el foro de PHP en Foros del Web. Bueno, no es que apeste, seguramente estoy usandolo terriblemente mal... Esto es medio engorroso... Es asi, recien empiezo con esto del php, y el primer ...
  #1 (permalink)  
Antiguo 12/02/2005, 10:14
Avatar de YO
YO
 
Fecha de Ingreso: junio-2001
Mensajes: 148
Antigüedad: 16 años, 5 meses
Puntos: 0
Exclamación El Include Apesta!

Bueno, no es que apeste, seguramente estoy usandolo terriblemente mal...

Esto es medio engorroso...

Es asi, recien empiezo con esto del php, y el primer uso que le quiero dar, es crear paginas de tal forma, que cuando tenga que actualizar algo asi, como el diseño, cambie solo unas paginas, y no toooodo el sitio... (eso es lo que tengo que hacer con html)
Y bueno, me dijeron que para esto, tenia que usar el famoso include.. y asi lo estoy haciendo, en un principio, funciona todo bien.. tengo una pagina index.php y una carpeta que se llama "basic" en donde hay un top.php (seria la parte del encabezado) y un pie.php (eso mismo) al mismo tiempo, top.php lee una imagen, desde el directorio ../Images/chaucha_loca.jpg

En el index.php

include "basic/top.php";
include "basic/pie.php";

La estructura de directorios es asi:

/
[basic] -> top.php pie.php
[images] -> chaucha_loca.jpg
index.php

Hasta ahi, funciona todo bien, hago los include desde el index.php y me muestra todo correctamente... el tema, es cuando quiero agregar secciones, por ejempo, copio index.php a seccion1.php y lo meto dentro de la carpeta "secciones" ahora los directorios quedan asi:

/
[basic] -> top.php y pie.php
[images] -> chaucha_loca.jpg
[secciones] -> seccion1.php
index.php

lo pruebo a el archivo1.php, y no me encuentra los archivos top.php y pie.php... y es porque lo busca en secciones/basic/top.php entonces a cada include le agrego el correspondiente ".." y queda asi
include "../basic/top.php";
Bien, ahi lo lee, pero las imagenes que contiene top.php NO!!! porque las busca en el directorio: secciones/Images/logo.jpg y a las imagenes no les puedo agregar el ".." ya que estan dentro de

top.php

Como puedo hacer?
Gracias!!
YO
  #2 (permalink)  
Antiguo 12/02/2005, 11:22
 
Fecha de Ingreso: febrero-2005
Mensajes: 396
Antigüedad: 12 años, 10 meses
Puntos: 1
El include no apesta, simplemente no lo usas correctamente.

Com otu bien has visto, no mira "bien" donde tiene que mirar las imagenes, porque cuando haces un "include" el fichero incluido se incorpora directamente a tu fichero "padre", y no se interpreta por separado.

Para remediarlo puedes crear una variable que se llame "$directorioRaiz" que apunte al directorio base, y hacer que las imagenes tengan la ruta:

$directorioBase/tuDirectorioDeImagenes/imagen

Y asi se soluciona el problema.

Por cierto que esa variable no tienes que definirla en cada fichero. Puedes poner en cada directorio un fichero con el mismo nombre siempre y alli definirla. Mediante un include en cada página cargas esa variable. Y si cambias de sitio las cosas, bastará con tocar la ruta en ese fichero.

Un saludo

Zerjillo
  #3 (permalink)  
Antiguo 12/02/2005, 13:27
Avatar de YO
YO
 
Fecha de Ingreso: junio-2001
Mensajes: 148
Antigüedad: 16 años, 5 meses
Puntos: 0
Gracias Zerjillo!

Pero no pude hacerlo funcionar, porque como dije antes, recien empiezo con el php, y hay cosas que no se como hacerlas...

primero, el include del fichero, no me funcinaba.. include "fichero.txt"; me mostraba el contenido del archivo, podria haber incluido un php con la variable, pero al fin lo solucione con esta funcion: $dir = implode('', file('directorio.txt')); que lo que hace es meter el contenido del archivo, en la variable $dir..

el tema, es que no se como hacer esto:
$directorioBase/tuDirectorioDeImagenes/imagen

Ya que por un lado yo escribo (por asi decir) codigo html en un lado, y en otra parte del archivo, codigo php.... cuando inserto la imagen, lo hago mediante html, osea que como ruta, no le puedo poner $directorioBase/tuDirectorioDeImagenes/imagen....

asi que mi nueva pregunta:
como inserto la imagen, desde php ???

Ademas otra cosa, la ruta en el fichero, tedria que ser la siguiente?
http://localhost/mi_sitio/

Muuuchas gracias por leer todo esto! y mas todavia por responder..
Saludos, YO.

Última edición por YO; 12/02/2005 a las 13:28
  #4 (permalink)  
Antiguo 12/02/2005, 18:10
 
Fecha de Ingreso: febrero-2005
Mensajes: 396
Antigüedad: 12 años, 10 meses
Puntos: 1
valep, ya veo por donde va tu problema, y no es dificil de solucionar (creo):

en el codigo html puedes poner algo asi como:

<img src="<? echo($directorioBase); ?>/directorioImagenes/imagen.extension" />

Si te fijas, dentro de un tag HTML es perfectamente válido abrir un tag de php que haga lo que sea, incluso "simplemente" imprimir el valor de una de las variables de php. Por supuesto ese fichero debe tener extension .php para que la página pueda "entender" el trocito de php.

¿Te sale ahora?

Un saludo

Zerjillo
  #5 (permalink)  
Antiguo 12/02/2005, 19:12
Avatar de YO
YO
 
Fecha de Ingreso: junio-2001
Mensajes: 148
Antigüedad: 16 años, 5 meses
Puntos: 0
Ahora el include huele mas que bien...!!

Gracias Zerjillo !!!!...
Saludos, YO.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:40.