Guardar y Extraer Imágenes en MySQL
Guardar y Extraer Imágenes en MySQL
Guardar y Extraer Imágenes en MySQL
1
1.1
1.2
1.3
. Introduccin
. Requerimientos
. Creacin
de
. Conectarnos
. Almacenar
Base
de
datos
y
la
Tabla
BD
BD
2
imagen
en
la
3 . Extraer la imagen de la BD y mostrarla en el navegador
En este artculo vamos a tratar lo que es el almacenar imgenes en una Base de Datos, para lo
que utilizaremos MySQL.
Introduccin
Quien se podra imaginar el guardar imgenes en una Base de Datos? Al principio ni me pasaba
por la cabeza, hasta que ya vas conociedo las herramientas y con el tiempo surgen nuevas ideas
y surge la inquietud. Se podrn guardar imgenes en una Base de Datos? La respuesta es que
s.
Requerimientos
Nombre (Texto)
Descripcion (Texto)
Imagen (Blob)
Conectarnos a la BD
Ahora simplemente
Datosbd_banners.
nos
conectamos
MySQL
seleccionamos
nuestra
Base
de
Almacenar imagen en la BD
Antes de almacenar la imgen en la BD, debemos de procesarla para llegar a convertirla en
datos binarios.
$image = imagecreatefromgif('imagen.gif');
ob_start();
imagegif($image);
$jpg = ob_get_contents();
ob_end_clean();
imagecreatefromgif
ob_start
imagegif
ob_get_contents
ob_end_clean
NOTA: En este ejemplo se guarda una imagen tipo GIF, por eso se utilizan las
funcionesimagecreateformgif e imagegif. Si se desea almacenar una imgen tipo JPEG, hay
que utilizar las funciones imagecreatefromjpeg e imagejpeg. Asi solamente se cambia el
tipo de imagen en las funciones. Para ver los tipos de imgenes que soporta PHP+GD pulsa
aqu.
Ahora s que vamos a almacenarla; para esto convertimos la informacin de la imagen en sqlsafe y simplemente hacemos una consulta para guardarla.
$jpg = str_replace('##','##',mysql_escape_string($jpg));
$result = mysql_query("INSERT INTO tbl_Banner SET Imagen='$jpg'");
$result
=
mysql_query("SELECT
Imagen
Id_imagen=11");
$result_array = mysql_fetch_array($result);
header("Content-Type: image/gif");
echo $result_array[0];
FROM
tbl_Banner
WHERE
Simplemente con esto guardamos la imgen en una variable y antes de mostrarla le decimos al
navegador que el contenido a mostrar es una imagen GIF. Si se va a mostrar imgenes JPEG hay
que cambiar image/gif por image/jpeg y asi para los diferentes formatos.