Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/04/2006, 09:49
Avatar de kalolo
kalolo
 
Fecha de Ingreso: abril-2005
Mensajes: 65
Antigüedad: 19 años
Puntos: 0
Imagenes en la BD y gd

Estuve buscando un post previo pero no encontre lo que ocupo..... Tengo una galeria de imagenes las fotos estan en binario en la base de datos, eso no es problema, el problema es que antes de ser guardadas, quisiera darles un tratado con GD, modificar su tamaño y crear su thumb, una vez lo hice pero manipulando el archivo antes de hacer el upload poruqe lo que la funcion de: "imagecreatetruecolor" y "imagecreatefromjpg" me podian funcionar,... Estuve intenado realizar el mismo procedimiento que hacia solo que en vez de guardar el archivo que me regrese ese binario ya procesado por GD y poder guardarlo en la base de datos (igual aun no se si esto sea lo mejor tener las fotos de la galeria en la BD),

Aqui un ejeplo de como le hacia para cuando los subia a carpetas: (dudo que sea un buen scrip tendra sus bastantes glitches pero me funciona :P )

Código PHP:

        
if(is_uploaded_file($_FILES['imagen']['tmp_name']))
        {
            
mysql_query($query);
            
move_uploaded_file($_FILES['imagen']['tmp_name'], "galeria/".$last_id.$extension);
            
$source_file "galeria/".$last_id.$extension;
            list(
$width$height)=getimagesize($source_file);
                
$h=100;
                
$w=($width*$h)/$height;
            
$thumb=imagecreatetruecolor($w$h);
            
$source=imagecreatefromjpeg($source_file);
            
imagecopyresized($thumb$source0000$w$h$width$height);
            
imagejpeg($thumb"galeria/thumb/thumb_".$last_id.$extension);
            
imagedestroy($thumb);
            
imagedestroy($source);
        } 
Y asi es como las estoy tratando para ahora el caso de que las tengo en la BD:

Código PHP:

$fch 
date ("d/m/y");
$Binario_Nombre_tmp $_FILES[$campo]['tmp_name'];                
$Size_Binario filesize($Binario_Nombre_tmp);                
$ArchivoBinario fopen($Binario_Nombre_tmp,'r');                
$binario_contenido=addslashes(fread($ArchivoBinario,$Size_Binario));
$binario_peso =   $_FILES[$campo]['size'];
$binario_tipo =   $_FILES[$campo]['type'];
                                
/* Creamos el insert */
$Insert="INSERT INTO imagenes (nombre, tipo, imagen, size, fecha) VALUES ('".$binario_nombre."', '".$binario_tipo."', '".$binario_contenido."',  '".$binario_peso."', '".$fch."');";
/*- Probamos el el insert -*/
if(!mysql_query($Insert))
 echo
'<span class="msgerror">Error, al insertar la imagen.</span>';
else
 
$id_imagen=mysql_insert_id(); 
=/ ahora de nuevo mi pregunta, como puedo realizar lo mismo que hago para guardarlo en la bd, pero antes de tomar el binario tratarlo con funciones de GD para modificar su tamaño, siendo que a como veo trabajan con archivos fisicos las funciones de GD.

Bueno de ante mano gracias
__________________
There is no place like 127.0.0.1