Foros del Web » Programando para Internet » PHP »

necesito ayuda con imagenes

Estas en el tema de necesito ayuda con imagenes en el foro de PHP en Foros del Web. Hola, tengo una imagen correctamente almacenada en un campo blob llamado bookPic pero al intentar llamarla con el código que adjunto abajo me salen cuadraditos ...
  #1 (permalink)  
Antiguo 26/11/2009, 21:04
 
Fecha de Ingreso: marzo-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
necesito ayuda con imagenes

Hola, tengo una imagen correctamente almacenada en un campo blob llamado bookPic pero al intentar llamarla con el código que adjunto abajo me salen cuadraditos binarios en lugar de la foto. El codigo en cuestion es :

session_start();

$searchBook = new SearchBook();

$bookInfo = null;
if(isset($_GET['bid']) && is_numeric($_GET['bid']))
{
$query = "SELECT * FROM `booksview` WHERE `bookID`=".$_GET['bid'];
//echo $query;
$result = mysql_query($query);
if($result && mysql_num_rows($result) == 1)
{
//echo 1;
$bookInfo = mysql_fetch_assoc($result);
storeViewHistory($bookInfo['bookID']);
$imgdir = "img";
$bookID = $bookInfo['bookID'];
$bookPic = $bookInfo['bookPic'];

Y desde esta linea invoco la imagen:
<img src="<?php echo "$imgdir/$bookPic"; ?>" alt="no se pudo" height="160" width="120" style="float: left;" />

Desde ya muchas gracias.
  #2 (permalink)  
Antiguo 26/11/2009, 21:23
 
Fecha de Ingreso: enero-2007
Ubicación: Los Angeles, Chile
Mensajes: 28
Antigüedad: 17 años, 2 meses
Puntos: 2
Respuesta: necesito ayuda con imagenes

¿ pero tienes almacenada la imagen en sí en la base de datos ? o solo la ubicacion hacia el disco duro ?
  #3 (permalink)  
Antiguo 27/11/2009, 06:08
 
Fecha de Ingreso: marzo-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
Respuesta: necesito ayuda con imagenes

Hola, la imagen está almacenada en la base de datos en el campo de tipo blob llamado bookPic. Y de hecho el script que adjunté la encuentra y la asocia correctamente al Id (booID) pero se despliegan caracteres extraños en lugar de la foto. De lo contrario muestra otra imagen($imgdir/nullBookPic.jpg que sí la muestra correctamnte) con esta linea de código:

<img src="<?php echo "$imgdir/$bookPic"; ?>" alt="bookPic" height="160" width="120" style="float: left;" />
<?php
}
else
{
?>
<img src="<?php echo "$imgdir/nullBookPic.jpg"; ?>" alt="bookPic" height="160" width="120" style="float: left;" />

El problema seguramente está en la variable de almacenamiento de la imagen, eso creo. Yo pongo:
$bookInfo = mysql_fetch_assoc($result); y luego:
$bookID = $bookInfo['bookID'];
$bookPic = $bookInfo['bookPic'];

Creo que estoy fallando en la forma de declarar la variable de imagen. Estaré haciendo mal en encerrar entre corchetes el campo blob bookPic?. Muchas gracias.
  #4 (permalink)  
Antiguo 27/11/2009, 08:56
 
Fecha de Ingreso: enero-2007
Ubicación: Los Angeles, Chile
Mensajes: 28
Antigüedad: 17 años, 2 meses
Puntos: 2
Respuesta: necesito ayuda con imagenes

yo creo que la falla va mas por la lógica, me explico, tu lees el contenido de la imagen y la muestras en pantalla en las etiquetas <img>, pero la etiqueta no funciona de esa manera, tienes que enviar algun enlace para que el tag <img> lea la imagen

lo que podrias hacer es ocupar un if que funcione para elegir alguna opcion, te dejo un ejemplo

Código PHP:

if(isset($_GET['bid']) && is_numeric($_GET['bid'])){

/*
ejecuta un codigo que muestre un tag img de este formato
<img src="?image=$bookID" alt="bookPic" height="160" width="120" style="float: left;" />
*/

}else{
      if(isset(
$_GET['image']) && is_numeric($_GET['image'])){

          
// ejecuta un codigo que muestre el binario de la imagen

      

al llamar a ese script de la forma script.php?bid=123 entraría en el primer if y mostraria por pantalla el tag img, pero si te fijas el tag tiene una imagen en el formato script.php?image=123 lo que provocaría que el tag ejecute nmuevamente el script pero por el camino del else, mostrando asñi el codigo en binario

nose si me explique bien

Última edición por alex16x; 27/11/2009 a las 16:41
  #5 (permalink)  
Antiguo 27/11/2009, 17:57
 
Fecha de Ingreso: marzo-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
De acuerdo Respuesta: necesito ayuda con imagenes

Muchas gracias, tu sugerencia me permitió resolver el problema. Hasta la próxima.
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:34.