Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/11/2002, 11:45
Avatar de Chuty
Chuty
 
Fecha de Ingreso: noviembre-2002
Ubicación: el bar de la esquina
Mensajes: 609
Antigüedad: 21 años, 5 meses
Puntos: 2
Si lo que quieres es que las imagenes estén completamente integradas en base de datos, necesitas lo siguiente:

Una tabla generada del siguiente modo:

Create table imagenes (id int not null auto_increment primary key ,nombre varchar(255) not null,contenido blob);

El modo de rellenar los datos es así:

....
$imagen="/tmp/ejemplo.gif";
// Se lee la imagen
$contenido=readfile($imagen,filesize($imagen));
// Se inserta en la base de datos
$res=mysql_query("Insert into imagenes (nombre,contenido) values ('".addslashes($imagen)."','".addslashes($contenid o)."')",$link);
// Se obtiene el id con el que se insertó
$id=mysql_insert_id();
....

Ahora ya tienes un registro en la tabla con un id único, el nombre y el contenido (los datos) de la imagen. Para mostrarla, precisas un poco de programación, ya que hay que extraerla de la base de datos. El SRC que muestra la imagen será algo así:

<img src=ver_imagen.php?id=2 border=3>

En donde ver_imagen.php es un script que extrae la imagen que se le pasa con el id, en este caso el 2. Por ejemplo será algo así:

// Primero se supone que abres una conexión a la base de datos
// Leemos el registro que corresponde con el id:

$res=mysql_query("Select * from imagenes where id=".$id."",$link);

if (mysql_num_rows($res)>0)
{
$row=mysql_fetch_array($res);
// Ahora comprobamos que tipo de imagen es según su extensión
$pos_punto=strrpos(".",$row[nombre]);
if ($pos_punto)
{
$tipo=substr($pos_punto+1,$row[nombre]);
switch(strtolower)
{
case "gif": $modo="image/gif\r\n";
break;
case "png": $modo="image/png\r\n";
break;
case "jpg"
case "jpeg": $modo="image/jpeg\r\n";
break;
}

// Ahora se envia la imagen al navegador con su tipo
echo "Content-Type: ".$modo;
echo $row[contenido];
}
}
}

y si me equivo espero que me corrijan Gracias
Saludos