Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Como hacer esto con header

Estas en el tema de Como hacer esto con header en el foro de PHP en Foros del Web. Hola, mi idea es esta: Dentro de la carpeta static/images, tengo imagenes, obviamente. Tengo un archivo: image.php, donde acepta una variable id, por ejemplo: http://whatever.com/static/images/image?id=45 ...
  #1 (permalink)  
Antiguo 08/07/2013, 10:54
Avatar de kendall00  
Fecha de Ingreso: septiembre-2011
Ubicación: $Ubicacion => ['Costa Rica'];
Mensajes: 85
Antigüedad: 12 años, 7 meses
Puntos: 5
Busqueda Como hacer esto con header

Hola, mi idea es esta:
Dentro de la carpeta static/images, tengo imagenes, obviamente.
Tengo un archivo: image.php, donde acepta una variable id, por ejemplo:
http://whatever.com/static/images/image?id=45
(Sin .php por .htaccess)
Tengo una bd con imagenes registradas, con un id especifico. tengo el arhivo original en la carpeta images, ahora como hago para que con la id del archivo image.php me devuelva como respuesta la imagen, es decir que yo puedo hacer esto:
Código HTML:
Ver original
  1. <img src="static/images/image?id=12" />
  2. <img src="static/images/image?id=72" />
  3. <img src="static/images/image?id=98" />
Esto para no usar los arhivos originales. (Tengo mis razones). Ahora ¿Cómo podria hacer esto con header dentro del archivo image.php?
__________________
El limite es la imaginacion... con Dios todo es posible.
  #2 (permalink)  
Antiguo 08/07/2013, 11:02
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Como hacer esto con header

simplemente aplica:

Código PHP:
Ver original
  1. readfile('path_imagen.ext');

luego de hacer los headers para imágenes, eso leerá el binario de la imágen y lo volcará a la salida; ¿resultado?: que el navegador obtiene la imagen y no su path o url verdadero

PD: si necesitas aplicar cambios en caliente a la imágen, entonces usa librerías como GD o imagemagik
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 08/07/2013, 11:04
Avatar de kendall00  
Fecha de Ingreso: septiembre-2011
Ubicación: $Ubicacion => ['Costa Rica'];
Mensajes: 85
Antigüedad: 12 años, 7 meses
Puntos: 5
Respuesta: Como hacer esto con header

readfile, gracias..! Pero no estoy muy familiarizado con header, solo con la redireccion, como seria el code completo... Pero igual gracias eso soluciona mi duda ;)
__________________
El limite es la imaginacion... con Dios todo es posible.
  #4 (permalink)  
Antiguo 08/07/2013, 11:07
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Como hacer esto con header

Ojo que tienes que indicar (con header) que el archivo es imagen, por ejemplo:
Código PHP:
Ver original
  1. header('Content-type: image/jpg');
  2. readfile('archivo.jpg');

Saludos.
  #5 (permalink)  
Antiguo 08/07/2013, 11:11
Avatar de kendall00  
Fecha de Ingreso: septiembre-2011
Ubicación: $Ubicacion => ['Costa Rica'];
Mensajes: 85
Antigüedad: 12 años, 7 meses
Puntos: 5
Respuesta: Como hacer esto con header

Gracias!! :)
__________________
El limite es la imaginacion... con Dios todo es posible.
  #6 (permalink)  
Antiguo 08/07/2013, 11:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Como hacer esto con header

Por eso para lo que quieres estaría muy bien que guardaras aparte del nombre, el tipo de archivo que es, así puedes descargar todo de la BDD y no mandar todas las imágenes como jpg, si son otra cosa

Etiquetas: header, kendall00
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 15:03.