Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/06/2011, 08:56
nistel12
Invitado
 
Mensajes: n/a
Puntos:
Guardar y mostrar imagenes

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.