Foros del Web » Programando para Internet » PHP »

INSERT thumbnail en registro

Estas en el tema de INSERT thumbnail en registro en el foro de PHP en Foros del Web. Acabo de corregir este post (tenía grandes ERRORES de mi parte) . A quien haya leído, disculpas por postear codigo incorrecto. Sigo probando la solucion, ...
  #1 (permalink)  
Antiguo 25/02/2010, 12:12
Avatar de tonypc  
Fecha de Ingreso: enero-2008
Mensajes: 10
Antigüedad: 16 años, 3 meses
Puntos: 0
INSERT thumbnail en registro

Acabo de corregir este post (tenía grandes ERRORES de mi parte). A quien haya leído, disculpas por postear codigo incorrecto.
Sigo probando la solucion, y sugerencias son bienvenidas!

Hola, como va Comunidad de FOROS DEL WEB!
Traté de ser lo más específico en el título del tema.
Tengo un formulario para ingresar inmuebles que funciona.
Tengo la función redimensión que también funciona (y no me crea thumbs al vuelo, sino que las guarda)

El proceso es cargo la imagen, y en caso de que cargue, generar un thumb, y luego, ambos registrarlos en una tabla, para poder invocarlos luego en con un SELECT.
Pero el problema es ingresar el thumb en una tabla.

A continuación uno de tantos intentos que implementé.
Como verán, hice por un lado una tabla "inmuebles" con todos los datos, y otra "galeria" con los campos CODIGO (que vincula a inmuebles, no es autoincremental, es el codigo del inmueble), IMAGEN (original final) y THUMBNAIL (miniatura, para invocarla en lugar de generar en cada peticion una miniatura).

Desde ya gracias y saludos!

THUMBNAILS.php
Código PHP:

<?php 
function redimensionar_jpeg($img_original$img_nueva$img_nueva_anchura$img_nueva_altura$img_nueva_calidad) {
 
// crear imagen desde original
$img ImageCreateFromJPEG($img_original);
 
// crear imagen nueva
$thumb ImageCreateTrueColor($img_nueva_anchura,$img_nueva_altura);
 
// redimensionar imagen original copiandola en la imagen
ImageCopyResized($thumb,$img,0,0,0,0,$img_nueva_anchura$img_nueva_altura,ImageSX($img),ImageSY($img));
 
// guardar la imagen redimensionada donde indicia $img_nueva
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
}
$thumbpath=$img_nueva;
return 
$thumbpath;


?>
INGRESAR.php (fragmento)

Código PHP:

require("thumbnails.php");
require(
"conexion.php");
if(
$_SERVER["REQUEST_METHOD"]=="POST")
{
    require(
"validar.php");
    if(
$mensajeError=="")
    {
/*CARGO IMAGEN*/
        
if(!empty($imagen['name']))
        {
            
$newimagen=$imagen['name'];
            
            
define("RUTA_IMG","img/inmuebles/"); /* Defino directorio de ORIGINAL */
            
chmod($imagen['tmp_name'],0777); /* Habilito permisos */
            
move_uploaded_file($imagen['tmp_name'],RUTA_IMG.$newimagen); /* Muevo la imagen temporal a directorio y nombre definitivo */
            
            /* Redimensiono la original y guardo la redimension en ruta definitiva de THUMB */

            
redimensionar_jpeg($newimagen,$thumbpath.'.jpg',50,50,100);


        }
        
/* ************************** */
        /*Cargo los datos */
        
        
$query1="INSERT INTO inmuebles (codigo,fecha,tipoinmueble,domicilio,cpa,operacion,ambientes,moneda,cifra,ubicacion,localidad,imagen) 
        VALUES ('$codigo','$fecha','$tipoinmueble','$domicilio','$cpa','$operacion','$ambientes','$moneda','$cifra','$ubicacion','$localidad')"
;
        
mysql_query($query1,$link);
        if(!
mysql_error())
            {
                
define("RUTA_THUMB","img/inmuebles/mini/");
                
redimensionar_jpeg($newimagen,RUTA_THUMB.$newthumb.".jpg",50,50,100);
            }
        
$query2="INSERT INTO galeria (codigo,imagen,thumbnail) VALUES ('$codigo','$newimagen','$newthumb')";
        
mysql_query($query2,$link);
        
        
        if(!
mysql_error())
        {
            
mysql_close($link);
            
header("Location:ingresar.php");
            exit;
        }
        else
        {
        
$mensajeError="La informacion no ha sido cargada";
        echo 
mysql_error();
        }
    }
}
echo 
$mensajeError/* imprime la validacion */ 

Última edición por tonypc; 25/02/2010 a las 14:29

Etiquetas: insert, thumbnails
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:52.