Guardar y Extraer Imágenes en MySQL

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 2

Guardar y extraer imgenes 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

PHP >= 3.0.16


MySQL
Habilitar la extension en PHP sobre GD

Creacin de Base de datos y Tabla


Vamos a comenzar creando una Base de Datos, en nuestro caso se llama bd_banners y dentro
de esta creamos una tabla (en nuestro caso se llama tbl_Banner) con los campos;

Id_banner (Llave, autonumrico)

Nombre (Texto)

Descripcion (Texto)

Imagen (Blob)

Conectarnos a la BD
Ahora simplemente
Datosbd_banners.

nos

conectamos

MySQL

seleccionamos

nuestra

Base

de

$link = mysql_connect('localhost', 'root', 'password');


if (!$link)
die('Error al conectarse con MySQL: ' . mysql_error().' <br>Nmero del
error: '.mysql_errno());
if (! @mysql_select_db("db_AdMX",$link)){
echo "No se pudo conectar correctamente con la Base de datos";
exit();
}

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'");

Extraer la imagen de la BD y mostrarla en


el navegador
Ahora vamos a extraer la imagen mediante un simple SELECT y la vamos a mostrar en el
navegador.

$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.

También podría gustarte