Hola a todos
Al tratar de mostrar una imagen previamente subida a la base de datos, me sale ese echo, he comprobado que la libreria GD este correctamente en el fichero php.ini.
extension=php_gd2.dll esta descomentada. (uso WIndows, y xampp)
El usuario sube la imagen a traves de un formulario. EL codigo es el siguiente:
Código PHP:
Ver original<?php
if (!isset($_FILES["imagen"]) || $_FILES["imagen"]["error"] > 0) {
echo "Ha ocurrido un error.";
}
else
{
$permitidos = array("image/jpg", "image/jpeg", "image/gif", "image/png"); $limite_kb = 16384;
if (in_array($_FILES['imagen']['type'], $permitidos) && $_FILES['imagen']['size'] <= $limite_kb * 1024) {
$imagen_temporal = $_FILES['imagen']['tmp_name'];
$tipo = $_FILES['imagen']['type'];
$fp = fopen($imagen_temporal, 'r+b');
$resultado = @mysql_query("INSERT INTO imagenes (imagen, tipo_imagen) VALUES ('$data', '$tipo')");
if ($resultado)
{
echo "El archivo ha sido copiado exitosamente.";
}
else
{
echo "Ocurrió algun error al copiar el archivo.";
}
}
else
{
echo "Formato de archivo no permitido o excede el tamaño límite de $limite_kb Kbytes.";
}
}
?>
La subida la hace sin problemas.
Y el codigo para recuperarla de la base de datos el siguiente:
Código PHP:
Ver original<?php
$consulta = "SELECT imagen, tipo_imagen FROM imagenes WHERE imagen_id='3'";
$imagen = $datos['imagen']; // Datos binarios de la imagen.
$tipo = $datos['tipo_imagen']; // Mime Type de la imagen.
que vamos a enviar.
header("Content-type: $tipo"); echo $imagen;
?>