Estás navegando como visitante. Por favor Registrate y Logueate para poder participar de ventajas como postear en el foro, Solicitar Ayuda, Ver Enlaces, Ver Imagenes. Registrate con nosotros clickeando AQUÍ.    
Registrarse    Identificarse   Blogs
Anuncios Internos

Quieres ser Moderador/a. Si estas interesado/a, lee la info sobre ésto, haciendo Click
Promociona tu web AQUÍ

En ésta web está expresamente prohibido, publicar enlaces de descargas de material protegido por la ley, asi como seriales, cracks, parches, programas o juegos pirateados sin el consentimienteo del autor, en cuyo caso se debará exibir dicha autorización para legitimizar la descarga. Si algun usuario incumple esta norma, sera
eliminado junto a todos sus mensajes.


Portal » Índice general » Zona Webmasters » Tutoriales Webmaster




Nuevo tema Responder al tema  [ 1 mensaje ] 
{ VISITS } Vistas: 941  { VISITS } Favoritos: 0 { VISITS } Seguidores: 0 
 
Autor Mensaje
 Asunto: Guardar y extraer imágenes en MySQL
 Nota Publicado: 11 May 2010 19:15 


Desconectado
Moderador Global
Moderador Global
Avatar de Usuario

Mensajes: 136

Todos mis aportes


Nivel: 10

HP: 0 / 230
0 / 230 0 / 230 0 / 230
MP: 110 / 110
110 / 110 110 / 110 110 / 110
EXP: 136 / 142
136 / 142 136 / 142 136 / 142

Karma: 25

Sexo:
Masculino



He dado: 26 Gracias
Recibidas: 25 Gracias
Blog: Ver blog (0)
Introducción

¿Quien se podría imaginar el guardar imágenes 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 podrán guardar imágenes en una Base de Datos? La respuesta es que sí.
Requerimientos

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

Creación 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, autonumérico)
* Nombre (Texto)
* Descripcion (Texto)
* Imagen (Blob)

Conectarnos a la BD

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

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


Almacenar imagen en la BD

Antes de almacenar la imágen en la BD, debemos de procesarla para llegar a convertirla en datos binarios.

  1. $image = imagecreatefromgif('imagen.gif');
  2. ob_start();
  3. imagegif($image);
  4. $jpg = ob_get_contents();
  5. ob_end_clean();


imagecreatefromgif
Crear una nueva imagen a partir de un archivo o URL.

ob_start
Inicia 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 imagen tipo GIF, por eso se utilizan las funciones imagecreateformgif e imagegif. Si se desea almacenar una imágen 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 imágenes que soporta PHP+GD pulsa Debe registrarse para ver este enlace. Gracias por su visita.

Ahora sí que vamos a almacenarla; para esto convertimos la información de la imagen en sql-safe y simplemente hacemos una consulta para guardarla.

  1. $jpg = str_replace('##','##',mysql_escape_string($jpg));
  2. $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.

  1. $result = mysql_query("SELECT Imagen FROM tbl_Banner WHERE Id_imagen=11");
  2. $result_array = mysql_fetch_array($result);
  3. header("Content-Type: image/gif");
  4. 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 una imagen GIF. Si se va a mostrar imágenes JPEG hay que cambiar image/gif por image/jpeg y asi para los diferentes formatos.

firma

Este es el lugar para tu firma

Personaliza tu perfil



Pc-teros Community - www.pc-teros.es
Arriba 
 Perfil  
 
Mostrar mensajes previos:  Ordenar por  
 
Nuevo tema Responder al tema  [ 1 mensaje ] 


¿Te fue util este tema?

Link:
BBcode:
HTML:


Temas Similares


Portal » Índice general » Zona Webmasters » Tutoriales Webmaster


Temas relacionados
 Temas   Autor   Comentarios   Vistas   Último mensaje 
Este tema está cerrado, no puede editar mensajes o enviar nuevas respuestas guardar imagenes en html - servidor de imagenes

martinkly

2

482

20 Jul 2011 23:59

martinkly Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Adjunto(s) MySQL Dumper, copiar - restaurar, bases de datos MySql

blquack

0

567

22 May 2010 13:12

blquack Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Guardar usuarios con alerta

dexter2.0

0

313

14 Ago 2015 19:00

dexter2.0 Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Extraer el contenido de un archivo RAR dañado

soft1

2

787

24 Ene 2012 12:23

EseTecnico Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Extraer nombre de fichero y extension de una url

buthas

1

894

23 Ene 2012 12:03

EseTecnico Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Conectar php con mysql

blquack

1

719

22 Ene 2012 12:07

EseTecnico Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Funciones String en MySql

buthas

0

477

11 May 2010 19:10

buthas Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Reemplazar texto mediante consulta en mysql

buthas

0

417

12 May 2010 13:33

buthas Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Adjunto(s) Subir BD (bases de datos) pesadas (BigDump) en Mysql

buthas

0

515

02 May 2010 22:37

buthas Ver último mensaje

No hay nuevos mensajes sin leer en este tema. Realizar consultas SQL en MySql -PhpMyAdmin- Video tutorial

blquack

1

3149

21 Ene 2012 10:49

EseTecnico Ver último mensaje

 


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

 
 

 
No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Buscar:
Saltar a:  
cron