Foros del Web » Programando para Internet » PHP »

Problema con header("Content-type: image/jpeg")

Estas en el tema de Problema con header("Content-type: image/jpeg") en el foro de PHP en Foros del Web. Hola, mi problema es que no muestra la imagen y supongo que es por desconocimiento del código por mi parte. Este es el código que ...
  #1 (permalink)  
Antiguo 20/09/2010, 08:08
 
Fecha de Ingreso: junio-2009
Mensajes: 38
Antigüedad: 14 años, 9 meses
Puntos: 0
Problema con header("Content-type: image/jpeg")

Hola, mi problema es que no muestra la imagen y supongo que es por desconocimiento del código por mi parte.

Este es el código que uso:
Código:
<?php
    $context['otheruser']['avatar']['image'] 
?>
<?php
   header("content-type: image/jpeg")
?>
Como veis, llamo una variable (link de la imagen), el problema es que muestra la url no la imagen como tal.

¿Como hago?
  #2 (permalink)  
Antiguo 20/09/2010, 08:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema con header("Content-type: image/jpeg")

La línea header() lo que hace es le dice al browser que el contenido que vas a envíar es un contenido binario, en esta caso una imagen/jpg.

En el código que expones no estas enviando nada, necesitas enviar contenido, si tu imagen (binaria) esta guardada en esa variable tendrías que hacer algo así:
Código PHP:
Ver original
  1. header('Content-type: image/jpg');
  2. echo $context['otheruser']['avatar']['image'];

Pero si en $context['otheruser']['avatar']['image'] tienes una URL o texto este no se va a transformar mágicamente a un formato binario, necesitarías descargar la imagen a tu server, abrirla en modo binario y leer todo su contenido para después enviarlo al browser.

Saludos.
  #3 (permalink)  
Antiguo 20/09/2010, 08:36
 
Fecha de Ingreso: junio-2009
Mensajes: 38
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con header("Content-type: image/jpeg")

Gracias GatorV por responder.

Como dices, lo que consigo con $context['otheruser']['avatar']['image'] es la url de la imagen y lo que necesito es que tome la url de la imagen y la muestre...

¿Como lo hago?
  #4 (permalink)  
Antiguo 20/09/2010, 08:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema con header("Content-type: image/jpeg")

Puedes usar una etiqueta <img> en tu html:
Código PHP:
Ver original
  1. <img src="<?php echo $context['otheruser']['avatar']['image']; ?>" border="0" />

Así no tienes que usar header ni nada.

Saludos.
  #5 (permalink)  
Antiguo 20/09/2010, 08:50
Avatar de Kamae  
Fecha de Ingreso: abril-2008
Ubicación: Barcelona (Catalunya)
Mensajes: 307
Antigüedad: 16 años
Puntos: 13
Respuesta: Problema con header("Content-type: image/jpeg")

Lo que (creo que) dice GatorV es que si en $context['otheruser']['avatar']['image']; tienes la información de la imagen (es decir, todos los miles de caracteres que forman la imagen, como si abrieras una imagen del ordenador en el bloc de notas), entonces hagas lo que te ha dicho:

Código PHP:
header('Content-type: image/jpg');
echo 
$context['otheruser']['avatar']['image']; 
Si en $context['otheruser']['avatar']['image']; tienes sólo la URL (por ejemplo "imagenes/imagenPrueba.jpg") lo que tienes que hacer, por ejemplo, es redirigir hacia esa URL:

Código PHP:
header("location:".$context['otheruser']['avatar']['image']); // Reidirge a la foto 
Espero que te sirva, saludos
  #6 (permalink)  
Antiguo 20/09/2010, 08:50
 
Fecha de Ingreso: junio-2009
Mensajes: 38
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con header("Content-type: image/jpeg")

Si es cierto y de hecho con solo poner <?php echo $context['otheruser']['avatar']['image']; ?> ya aparece la imagen.

El problema que me surge es que necesito pedir el archivo image.php?valor=2 así:

Código PHP:
<img src=".../image.php?valor=2" alt="Imagen" /> 
  #7 (permalink)  
Antiguo 20/09/2010, 08:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Problema con header("Content-type: image/jpeg")

Entonces tienes que usar un tecnica como cURL o file_get_contents con streams para descargar la imagen, revisa en los aportes del foro, hay un ejemplo de como hacer peticiones http.

Saludos.
  #8 (permalink)  
Antiguo 20/09/2010, 08:58
 
Fecha de Ingreso: junio-2009
Mensajes: 38
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con header("Content-type: image/jpeg")

Cita:
Iniciado por Kamae Ver Mensaje
Si en $context['otheruser']['avatar']['image']; tienes sólo la URL (por ejemplo "imagenes/imagenPrueba.jpg") lo que tienes que hacer, por ejemplo, es redirigir hacia esa URL:

Código PHP:
header("location:".$context['otheruser']['avatar']['image']); // Reidirge a la foto 
Espero que te sirva, saludos
Perfecto, con el último ejemplo me vale para lo que quiero hacer. Muchas gracias Karnae.

Cita:
Iniciado por GatorV Ver Mensaje
Entonces tienes que usar un tecnica como cURL o file_get_contents con streams para descargar la imagen, revisa en los aportes del foro, hay un ejemplo de como hacer peticiones http.

Saludos.
Gracias GatorV, quizás me sirva para otra vez.

P.D: Ya se puede cerrar.

Etiquetas: Ninguno
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 14:26.