Inicio arrow Articulos arrow Lenguaje PHP arrow Guardar y extraer imágenes en MySQL con PHP
Guardar y extraer imágenes en MySQL con PHP PDF Imprimir E-Mail

En este artículo vamos a tratar lo que es el almacenar imágenes en una Base de Datos, para este artículo vamos a utilizar MySQL.

Introducción

Quien se podría imaginar el guardar imágenes en una Base de Datos?, al principio a mi ni me pasaba por la cabeza, hasta que ya vas conociedo las herramientas y con el tiempo surgen nuevas ideas y fum!! buala!! seurge la inquietud, so podrán guardar imágenes enuna Base de Datos?,la respuesta es si.

Requerimientos

  • PHP >= 3.0.16
  • MySQL
  • Habilitar la extension en PHP sobre GD

Crear 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, autonumérico)
  • Nombre (Texto)
  • Descripcion (Texto)
  • Imagen (Blob)

Conectarnos a la BD

Ahora simplemente nos conectamos a MySQL y seleccioanmso nuestra Base de Datos bd_banners.

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

Almacenar imágen en la BD

Antes de almacenar la imágen 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: Crear una nueva imagen a partir de un archivo o URL.

ob_start: Inica el almacenamiento en el búfer de salida.

imagegif: Producir la salida de una imagen al navegador o a un archivo.

ob_get_contents: Devolver el contenido del búfer de salida.

ob_end_clean: Limpia el búfer de salida y termina el almacenamiento en el búfer de salida.

NOTA: En este ejemplo se guarda una imágen tipo GIF, por eso se utilizan las funciones; imagecreateformgif, imagegif. Si se desea almacenar una imágen tipo JPEG, utilizar las funciones; imagecreatefromjpeg, imagejpeg. Asi solamente se cambia el tipo de imágen enlas funciones. Para ver los tipos de imágenes que soporta PHP+GD da click aquí.

Ahora si vamos a almacenarla, para esto convertimos la infromación de la imágen en sql-safe y simplemente hacemos un query para guardar.

$jpg = str_replace('##','##',mysql_escape_string($jpg));
$result = mysql_query("INSERT INTO tbl_Banner SET Imagen='$jpg'");

Extraer la imágen de la BD y mostrarla en el navegador

Ahora vamos a extraer la imágen mediante un simple SELECT y la vamos a mostrar en el navegador.

$result = mysql_query("SELECT Imagen FROM tbl_Banner WHERE Id_imagen=11");
$result_array = mysql_fetch_array($result);
header("Content-Type: image/gif");
echo $result_array[0];

Simplemente con esto guardamos la imágen en una variable y antes de mostrarla le decimos al navegador que el contenido a mostrar es de imágen/gif. Se se va a mostrar imágenes JPEG cambiar image/gif por image/jpeg y asi para los diferentes formatos.




Autor: Jesús Carrillo
http://www.php-mexico.com/index.php?option=com_content&task=view&id=26&Itemid=9&l
 
< Anterior   Siguiente >

Trabajos

Portafolio

Articulos

Instalación del servidor Apache

A continuación vamos a explicar la instalación de un servidor Apache en un sistema operativo Windows 98. Debemos tener en cuenta que esta versión es una versión beta de calidad. Esto significa que no ofrece la estabilidad y seguridad que la versión de unix, de hecho existen numerosos errores e inconsistencias, aun así es suficiente para realizar pruebas en nuestro ordenador.

Comencemos con la instalación:

Leer más...
 




Suscribite

Recibi todas las ultimas noticias de internet!!!






   
   Compumonte.com.ar Funciona bajo Joomla
Webmaster Gerardo Irribarra