Hace unos dias que intento guardar una imagen en una base de datos MySQL y luego mostrarla en una web pero sin resultado. No se que es lo que hago mal.
Os dejo el codigo:
CREATE TABLE imagenes (
id int(5) NOT NULL auto_increment,
nombre varchar(10) NOT NULL,
imagen longblob,
PRIMARY KEY (id),
);
Formulario para seleccionar las imagenes a guardar: subir.php
Código PHP:
<form method="get" action="guardar.php" enctype="multipart/form-data">
<p>Nombre: <input type="text" name="nombre" maxlength="100"> </p>
<p>Imagen: <input type="file" name="imagen" size="40"> </p>
<p><input type="submit" name="submit" value="Subir"></p>
</form>
Guardo el nombre y la imagen en la base de datos: guardar.php
Código PHP:
<?php
mysql_connect("localhost","root","");
mysql_select_db("tienda");
$imagen = $_GET["imagen"];
$imagenabierta = fopen($imagen, "rb");
$tamimagen = filesize($imagen);
$imagen = addslashes($imagenabierta, $tamimagen);
$nombre = $_GET["nombre"];
mysql_query("INSERT INTO imagenes (nombre,imagen) VALUES ('$nombre','$imagen')");
echo "Imagen guardada";
?>
Pagina que te permite ver la imagen: ver.php
Código PHP:
<?php
$nombre = $_GET['nombre'];
@mysql_connect("localhost","root","");
@mysql_select_db("tienda");
$query = "SELECT imagen FROM imagenes WHERE nombre = '$nombre'";
$result = @mysql_query($query);
$imagen = @mysql_result($result,0);
Header("Content-type: image/jpeg");
echo $imagen;
?>
Y luego solo pontiendo este codigo deberia mostrarte la imagen que tienes guardada
Código PHP:
<img src="ver.php?nombre=nombre_de_la_imagen">
Espero que podais ayudarme. He mirado otros ejemplos y no me funcionan, incluso probe de copiar el codigo (solo cambiandole lo necesario) que escribio ginitofl en este post [URL="http://www.forosdelweb.com/f18/subir-imagenes-noticias-448466/"]http://www.forosdelweb.com/f18/subir-imagenes-noticias-448466/[/URL] y no me funciona.
PD: Si alguien sabe alguna forma mas facil, segura, etc para hacer esto, tambien la puede postear.