Ver Mensaje Individual
  #8 (permalink)  
Antiguo 03/08/2011, 10:39
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Uso de imagenes BLOB, de forma dinámica en PHP

No es necesario hacer otro post, para ver la imagen en BLOB es muy simple, solamente debes de imprimir la imagen en un contexto binario.

Siguiendo el ejemplo que dices producto.php, recibes por ID el id del producto, y dentro consultas los datos e imprimes la imagen así:
Código PHP:
Ver original
  1. <img src="fotoProducto.php?id=<?php echo $productoId; ?>"/>

Dentro de fotoProducto lo que haces es consultar a la bdd, y seleccionas el campo de imagen e imprimes las cabeceras, por ejemplo:
Código PHP:
Ver original
  1. <?php
  2. $id = $_GET['id'];
  3. // seleccionas etc
  4. $query = "SELECT foto FROM productos WHERE producto_id=$id";
  5. mysql_query($query);
  6. $row = mysql_fetch_array($query);
  7. header ('Content-type: image/jpg');
  8. echo $row['foto'];

Ten en cuenta que en ese script no puede tener nada más de texto, para que no te de un error de cabeceras, y es buena practica guardar junto con la imagen en BLOB, el tipo de imagen y el nombre original, así puedes descargar bien los datos, pe.
Código PHP:
Ver original
  1. header ('Content-type: ' . $row['type']);
  2. header ('Content-disposition: inline; filename=' . urlencode($row['name']));
  3.  
  4. echo $row['foto'];

Solo recuerda no imprimir nada antes ni después de tu foto en binario.

Saludos.