
24/08/2011, 06:03
|
| | Fecha de Ingreso: agosto-2011
Mensajes: 18
Antigüedad: 13 años, 6 meses Puntos: 0 | |
Mostrar imagenes desde un campo de blob SQL Hola, alguien me puede decir donde encuentro un buen tutorial de como mostrar una imagen desde blob mysql usando PHP??
Bueno en realidad encontré uno muy bueno, nada mas que no me funciona, no se donde estará el error. A ver si alguien es tan amable y me ayuda...
Código:
<body>
<img src="verblob.php?idfoto=1&tam=1" alt="Imagen desde Blob" />
<?php
//Autor: Braulio Andrés Soncco Pimentel <[email protected]>
//http://www.buayacorp.com/
// Nivel de errores
error_reporting(E_ALL);
// Constantes
# Servidor de base de datos
define("DBHOST", "localhost");
# nombre de la base de datos
define("DBNAME", "Base de datos");
# Usuario de base de datos
define("DBUSER", "root");
# Password de base de datos
define("DBPASSWORD", "Password");
// Parámetros para recuperar la imagen
# Recuperamos el parámetro GET con el id único de la foto que queremos mostrar
$idfoto = (isset($_GET["idfoto"])) ? $_GET["idfoto"] : exit();
# Recuperamos el parámetro GET para elegir entre la miniatura o la foto real
$tam = (isset($_GET["tam"])) ? $_GET["tam"] : 1;
// Escojemos la foto real o la miniatura según la variable $tam
switch($tam) {
case "1":
$campo = "foto";break;;
case "2":
$campo = "thumb";break;;
default:
$campo = "foto";break;;
}
// Recuperamos la foto de la tabla
$sql = "SELECT $campo, mime
FROM imagenes
WHERE idfoto = $idfoto";
# Conexión a la base de datos
$link = mysql_connect(DBHOST, DBUSER, DBPASSWORD) or die(mysql_error($link));;
mysql_select_db(DBNAME, $link) or die(mysql_error($link));
$conn = mysql_query($sql, $link) or die(mysql_error($link));
$datos = mysql_fetch_array($conn);
// La imagen
$imagen = $datos[0];
// El mime type de la imagen
$mime = $datos[1];
// Gracias a esta cabecera, podemos ver la imagen
// que acabamos de recuperar del campo blob
header("Content-Type: $mime");
// Muestra la imagen
echo $imagen;
?>
</body>
Y en la base de datos tengo esto:
Código:
CREATE TABLE `tabla` (
`idfoto` int(3) NOT NULL AUTO_INCREMENT,
`nombre` varchar(255) NOT NULL DEFAULT '',
`foto` blob NOT NULL,
`thumb` blob NOT NULL,
`mime` varchar(40) NOT NULL DEFAULT '',
PRIMARY KEY (`idfoto`)
) ;
|