Ver Mensaje Individual
  #10 (permalink)  
Antiguo 01/10/2009, 09:47
Avatar de pepeverastegui
pepeverastegui
 
Fecha de Ingreso: septiembre-2008
Ubicación: Pedernales, Michoacan
Mensajes: 82
Antigüedad: 15 años, 7 meses
Puntos: 2
Respuesta: pesadilla guardar leer imagenes

Cita:
Iniciado por JOSANCIN Ver Mensaje
gracias a todos, me parece mas intuitivo que lo de meter la imagen la bd, a ver si lo miro bien y consigo entenderlo!
tengo un script que funciona pero me gustaria entenderlo bien
lo dicho, muchas gracias
puedes hacerlo de las dos maneras:

1) creando tu los archivos en la ubicacion que quieras y metiendo unicamente la informaicon edl archivo en le base de datos

2) metiendo el archivo completo en la base de datos junto con su informacion (pero esto implica que la base de datos se va a saturar demasiado telo digo por experiencia ya lo hice y nel, la base de datos me llego a pesar como 800mb de puros archvos pero ps bueno como veas ahi te hecho la mano

y aqui esta el archivo donde cargas la imagen a un campo LONGBLOB de mysql

archivo1.php
Código PHP:
<?php
$db 
mysql_connect("localhost""usuario""password");
mysql_select_db("test");

if(
$b1)
{
   if(
is_uploaded_file($_FILES[archivo][tmp_name]))
   {
      
$tamanio $_FILES[archivo][size];
      
$tipo    $_FILES[archivo][type];
      
$nombre  $_FILES[archivo][name];

      
$archivo fopen($_FILES[archivo][tmp_name], "r");
      
$datos base64_encode(fread($archivo$tamanio));

      
mysql_query("INSERT INTO tabla VALUES('$nombre', '$tipo', '$tamanio', '$datos')");
   }
}
?>

<html>
<head>
<title>Carga Archivos</title>
</head>

<body onload="if(document.f1.archivo){document.f1.archivo.focus();}">

<form name=f1 method=post action=archivo.php enctype="multipart/form-data">
<input type=file name=archivo><br>
<input type=submit name=b1 value="Cargar Archivo">
</form>

</body>
</html>
archivo2.php
Código PHP:
<?php
$db 
mysql_connect("localhost""root""verastegui");
mysql_select_db("test");

$res mysql_query("SELECT * FROM tabla ORDER BY RAND() LIMIT 1");

$row mysql_fetch_object($res);

header("Content-type: $row->tipo");
header("Content-Length: $row->tamanio);

$imagen = base64_decode($row->archivo);

print $imagen;
?>
ahi esta uno para guardar la imagen en un blob y el otro para obtenerla ya en base al codigo pasado que te di, ps ya tu checas que el archivo no sea tan grande y que solo sea jpg espero sirva
__________________
Ing. Jesus Verastegui
http://www.micharanga.com.mx
http://pepeverastegui.blogspot.com