13/08/2011, 17:24
|
| | | Fecha de Ingreso: abril-2011 Ubicación: caracas
Mensajes: 152
Antigüedad: 13 años, 7 meses Puntos: 15 | |
Respuesta: Subir foto de perfil de usuario hola follow , te lo explico en un pequeno tutorial veras que es facil
aqui vamos
¿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.
$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 imagen 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();
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 aquí.
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.
$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 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 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 |