Foros del Web » Programando para Internet » PHP »

Include entre carpetas

Estas en el tema de Include entre carpetas en el foro de PHP en Foros del Web. Hola, foreros: Tengo una dudilla, jeje. Mirar tengo una web distribuida en diferentes carpetas. Mi duda es la siguiente: Si tengo en una carpeta las ...
  #1 (permalink)  
Antiguo 29/05/2008, 00:00
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Include entre carpetas

Hola, foreros:

Tengo una dudilla, jeje. Mirar tengo una web distribuida en diferentes carpetas. Mi duda es la siguiente:

Si tengo en una carpeta las imagenes y en otra los php, TODOS EN EL MISMO NIVEL, es decir, la carpeta de las imagenes y la carpetade los php en la misma carpeta.

¿Como puedo hacer un include de las imagenes en los php?, se que puedo hacerlo nombrando el dominio, con sus www...

¿Es bueno hacerlo asi? o ¿existe otro modo?

¿Me explico?
  #2 (permalink)  
Antiguo 29/05/2008, 01:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Include entre carpetas

las imagenes no se pueden incluir en PHP, solo escribes la URL en su etiketa de HTML...

te refieres a ke: si usas... ../imagenes/una.jpg ... si la puedes escribir con todo y http:// etc???
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 29/05/2008, 01:20
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Include entre carpetas

pues yo no uso el dominio para llamar imagenes es siempre mejor usar la ruta....
que pasa si cambias de dominio????

en realidad no entiendo lo que quieres decir con includes de imagenes :/

digamos tu me dices tienes index.php y en este haces includes de header.php
body.php y footer.php por decir algo .... y traer las imagenes ????
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #4 (permalink)  
Antiguo 29/05/2008, 01:47
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Respuesta: Include entre carpetas

Creo que mas que una duda de php es una duda de rutas relativas.

Ejemplos:

foto.jpg = llama a una imagen en el mismo nivel que la página.

../foto.jpg = llama a una imagen en un nivel superior al de la página.

imagenes/foto.jpg = desde una carpeta ubicada al mismo nivel de la página.

../imagenes/foto.jpg = desde una carpeta en un nivel superior al de la página.


Segun tu ejemplo:

/
/php
/imagenes

desde la carpeta php llamaría las imágenes así:

../imagenes/tuimagen.jpg

Saludos, e insisto, nada tiene que ver con php sino con web general.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #5 (permalink)  
Antiguo 29/05/2008, 03:09
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Include entre carpetas

Hola de nuevo...

Tienes razon, lucasan, era un problema de rutas relativas...

Gracias... ya lo entendi...
  #6 (permalink)  
Antiguo 29/05/2008, 23:18
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Include entre carpetas

Hola de nuevo...

Me ha surgido otra duda relacionada con este tema, jeje. Mi duda es si el uso de rutas relativas utiliza mas memoria del servidor. Es decir:

No es mas rapido una ruta de este tipo: www.miweb.com/archivos/cosa.php

A escribir esto: ../archivos/cosa.php

En un include... ¿Que es mas eficiente?
  #7 (permalink)  
Antiguo 29/05/2008, 23:47
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Include entre carpetas

tienes un poco de razon... cuando se usan los ../ para accesar asi como ./ como raiz... si, ocupa un poco de tiempo... (milisegundos) en resolver la direccion..

pienso ke es mas eficiente sabiendo esto, conocer las diferentes raices de los sistemas operativos...

cuando sabes que Windows usa unidades...

seria mas rapido, un is_file('c:\autoexec.bat') que un is_file('../../../../../../autoexec.bat') bien...


en linux, usamos la simple barra como home....

seria mas rapido... include('/usr/bin/etc/foo.php') que un include('../../foo.php') ... OK??

ahora... como sabemos NO podemos escribir estas rutas siempre asi... absolutas!!! noooo.... hay que pensar siempre en transportar las rutas de un sistema operativo a otro... y ademas sin utilizar tantos... ../ ./ o no??

yo acostumbro, desde el index hacer todo... y cuando digo todo, es todo... justo ahi, declaro una constante con dirname(__FILE__) como valor... haciendola util para referirse hacia la raiz de la web... pero de modo fisico, con todo y C:\etc\etc en Windows.... y con la / inicial de *nix ..... asi, y usando rutas absolutas va genial...

ej.

Código PHP:
define('DIR'dirname(__FILE__));
define('DS'DIRECTORY_SEPARATOR);

include 
DIR DS 'includes' DS'ejemplo.php'
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 29/05/2008, 23:52
Avatar de lucasan
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: Cali - Colombia
Mensajes: 1.144
Antigüedad: 16 años, 10 meses
Puntos: 59
Respuesta: Include entre carpetas

Hola, nunca he leido que el uso de rutas relativas consuma mas memoria; podrías decirnos donde lo escuchaste o lo leiste?

Ahora, en caso de ser cierto, eso lo puedes solucionar de la siguiente forma:
existe una etiqueta llamada <base> muy util para esto, se usa entre las etiquetas <head> y </head> y lo que hace es decirle a cada link que el dominio base es tal, o cual.

Ejemplo

Código HTML:
<head>

<base href="http://tusitio.com/" />

</head> 
Así cada link que uses lo pones como ruta relativa, pero el te tomará como base el dominio que has puesto, ejemplo:

Código HTML:
<a href="carpeta/foto.jpg">Link</a> 
Lo tomará como http://tusitio.com/carpeta/foto.jpg

Ahora, una mejor manera de implementarlo, que te serviría si por ejemplo cambias de host, o de dominio, es usando un poco de php:

Código PHP:
<head>

<base href="<?php $_SERVER['HTTP_HOST'?>" />

</head>
Esto te dará el mismo resultado, aun si cambias de host o de dominio.

Saludos.

Edito: Mientras escribia respondió pateketrueke aclarando lo del consumo de tiempo según el tipo de enlace, no lo conocía.
__________________
Plan Original Desarrollo Web
~$>sudo apt-get install -f
"Asi debería arreglarse todo en la vida"
  #9 (permalink)  
Antiguo 30/05/2008, 00:17
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Include entre carpetas

weno de echo lo pille de aki mismo... en el foro http://www.forosdelweb.com/f18/como-...codigo-591444/

la manera de lucasan es la adecuada... pero se referian al sistema de archivos en PHP... ¿que seria mejor??

Cita:
8. Use full paths in includes and requires, less time spent on resolving the OS paths.
weno, nose si creerle a este tipo... pero en fin, solo supuse que asi era...

porke al momento usar include() y aun, en Windows... cuando pones barras normales... sigue haciendolo bien, aun... con ./ entonces... siii!, PHP debe hacer algo para resolver las rutas... pensé
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 30/05/2008, 00:54
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Include entre carpetas

Hola de nuevo...

Ya entendi mas sobre el uso de rutas relativas con vuestros mensajes. Era un duda que se me paso por la cabeza, jeje. Y cuando empezamos haciendo una web, hay que empezar con bien pie, jeje...

Bueno... gracias...
  #11 (permalink)  
Antiguo 30/05/2008, 01:31
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Include entre carpetas

Hola de nuevo... jeje

He estado pensado un poquillo mas el tema, jeje... como me preocupaba bastante el problema del uso del servidor, en cuanto a los includes y las rutas relativas, he dudado de si el tener un include de este tipo afecta en algo:

Código PHP:
include(http://www.miweb.com/carpetita/conexion.php'); 
Es que como parece algo engorroso lo pregunto... ¿es bueno hacerlo de este modo?¿ocupar mas tiempo al servidor?

Última edición por salbatore; 30/05/2008 a las 01:49
  #12 (permalink)  
Antiguo 30/05/2008, 07:29
(Desactivado)
 
Fecha de Ingreso: mayo-2008
Mensajes: 85
Antigüedad: 15 años, 10 meses
Puntos: 1
Respuesta: Include entre carpetas

Cita:
Iniciado por salbatore Ver Mensaje
Hola de nuevo... jeje

He estado pensado un poquillo mas el tema, jeje... como me preocupaba bastante el problema del uso del servidor, en cuanto a los includes y las rutas relativas, he dudado de si el tener un include de este tipo afecta en algo:

Código PHP:
include(http://www.miweb.com/carpetita/conexion.php'); 
Es que como parece algo engorroso lo pregunto... ¿es bueno hacerlo de este modo?¿ocupar mas tiempo al servidor?

Ese metodo de hace un include poniendo http://..... es peor porque deve de hacer un get a la pagina descargarla e interpretarla, en cambio con ./carpetita/archivo.php solo lee e interpreta
  #13 (permalink)  
Antiguo 30/05/2008, 09:31
Avatar de salbatore  
Fecha de Ingreso: abril-2007
Ubicación: Springfield
Mensajes: 1.567
Antigüedad: 17 años
Puntos: 19
Respuesta: Include entre carpetas

Hola de nuevo...

Muchas gracias... me habeis solucionado todas mis dudas, jeje...
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 04:42.