almacenar imagenes en mysql - Blog Juegosocio

como almacenar imagenes en una base de datos, es una pregunta que me hizo el amigo nico hace unos dias, y respondo en forma de post, si, es posible, y depende la situacion puede ser ventajoso (desde luego, no desde el punto de vista del rendimiento). realmente el proceso es…

almacenar imagenes en mysql

Por mameyugo el 07.Aug.2009 facebook_16 twitter_16 delicious_16

como almacenar imagenes en una base de datos, es una pregunta que me hizo el amigo nico hace unos dias, y respondo en forma de post, si, es posible, y depende la situacion puede ser ventajoso (desde luego, no desde el punto de vista del rendimiento).
realmente el proceso es bien sencillo, abrimos el archivo almacenandolo en una variable, que contiene datos indescifrables (puedes probar a abrir una imagen con un editor de textos), a continuacion cambiamos la codificacion de esta variable a

base64, con lo que ya tenemos codigo perfectamente legible (que no entendible, pero esto no nos importa), ahora solo tendremos que almacenar esta cadena de texto en la base de datos y ya habremos concluido la primera parte.

<?php
//abre el archivo y pasa la codificacion a base64
$archivo=base64_encode(file_get_contents("enigma.jpg"));
//se guarda la cadena de texto en la que se ha transformado la imagen
//en un archivo de texto perfectamente legible, ( ojo ocupa minimo un 20% mas en Kb)
file_put_contents("archivo_texto.txt",$archivo);

//abre de nuevo el archivo 
archivo=file_get_contents("archivo_texto.txt");
//revierte los cambios en una nueva imagen
file_put_contents("archivo_texto.jpg",base64_decode($archivo));
?>

la segunda parte consiste en mostrar los datos de esta imagen de nuevo por pantalla. la tarea es igualmente sencilla, existen varias maneras, la mas rapida seria guardar la cadena descodificandola de base64 al estado anterior, Tambien se podria hacer un echo de un base64_decode lanzando las header() de una imagen, o escribir la imagen envevida directamente en el html.

<img src="data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAS...." />
Tags: gd, mysql, Categorías: PHP, programacion, Comentarios: 1, Lecturas: 823

Comentarios


gravatar
19.Nov.2010
Muchas gracias por la información. Muy útil y bien explicada

Escribe un comentario

Nick
Email
URL