Comunidad de diseño web y desarrollo en internet online

Problema al generar y subir thumb

Citar            
MensajeEscrito el 23 Ago 2007 11:30 pm
Hola a todos,
Tengo un problema q he tratado de resolver, pero no he hallado el error. :(
Puedo subir la imagen original al servidor, pero no puedo lograr generar la miniatura y subirla.
Al ejecutarlo no me genera ningun error, es por ello q nose donde mas buscar.

Aqui les dejo el codigo para q vean, en q me equivoco.


<?
///////////////////////CONECTO CON LA BASE DE DATOS
include_once("../config.php");
///////////////////////ACCIONES DE PAGINA
$pagetitle = "Subir nueva Imagen";
$pagewidth = 400;
$action = $_REQUEST['action'];
$groupId = $_REQUEST['groupId'];
$folder = $_REQUEST['src'];
$closeWin = false;
//////-----> FUNCION CREAR MINI
function crear_mini(){
//Tomamos la extension
$getExt = explode ('.', $file_name);
$file_ext = $getExt[count($getExt)-1];
$ThumbWidth = $ancho_miniatura;
//buscamos la funcion segun la imagen
if($file_size){
if($file_type == "image/pjpeg" || $file_type == "image/jpeg"){
$nueva_imagen = imagecreatefromjpeg($file_tmp);
}elseif($file_type == "image/x-png" || $file_type == "image/png"){
$nueva_imagen = imagecreatefrompng($file_tmp);
}elseif($file_type == "image/gif"){
$nueva_imagen = imagecreatefromgif($file_tmp);
}
//Chequeamos el ancho y el alto para mantener la relacion de aspecto
list($width, $height) = getimagesize($file_tmp);
$imgratio=$width/$height;
if ($imgratio>1){
$nuevo_ancho = $ThumbWidth;
$nuevo_alto = $ThumbWidth/$imgratio;
}else{
$nuevo_alto = $ThumbWidth;
$nuevo_ancho = $ThumbWidth*$imgratio;
}
//funcion para redimensionar
$redimensionada = imagecreatetruecolor($nuevo_ancho,$nuevo_alto);
imagecopyresized($redimensionada, $nueva_imagen, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $width, $height);
$nombre_nuevaimg = $file_tmp.".".$file_ext;
//guardamos la imagen
imagejpeg ($redimensionada,"$ruta_miniaturas/$nombre_nuevaimg", 100);
imagedestroy ($redimensionada);
imagedestroy ($nueva_imagen);
}
}
////// ----> FIN DE LA FUNCION CREAR MINI
if ($action=='UPLOAD'){
// CONFIGURACION
$extensiones = array(".gif",".jpg",".png",".jpeg",".bmp");
$ruta_miniaturas = "../images/mini"; // ruta donde se guardara la imagen mini
$ancho_miniatura = 120;
$file_type = $_FILES['file']['type'];
$file_name = $_FILES['file']['name'];
$file_size = $_FILES['file']['size'];
$file_tmp = $_FILES['file']['tmp_name'];
$uploaddir = "../images/normal"; // ruta donde se guardara la imagen original
// SUBO LA IMAGEN
if(is_uploaded_file($file_tmp)){
move_uploaded_file($file_tmp,$uploaddir.'/'.$file_name);
crear_mini(); /// LLAMO A LA FUNCION PARA CREAR MINI
///////// inserto el campo a la base de datos ////////////
list($width, $height) = getimagesize($uploaddir.'/'.$file_name);
$insertSQL = "insert into ".$dbTable." values ('','".$groupId."','','".$file_name."','".$width."','".$height."','')";
$resultSQL = mysql_query($insertSQL) or die(mysql_error());
if($resultSQL){
$newGroupId = mysql_insert_id();
$closeWin = true;
}
///////////////////////////////INSERTADO
}else{
echo("<div class='normal' align='center'><b>El tamaño del archivo es demasiado grande.</b></div> ");
}
}
?>


Si alguien pudiera ayudarme en esto se lo agradeceria.. ^^

Saludos y gracias.

Por raulcuya

6 de clabLevel



Genero:Masculino  

Peru

msie7
Citar            
MensajeEscrito el 23 Ago 2007 11:55 pm
Lo único que te puedo decir mirando el código (no lo he probado) es que estás usando imagecopyresized() cuando debería ser imagecopyresampled(). Además, al final de la parte del código que crea la miniatura haces imagedestroy ($nueva_imagen);, ¿no estaría borrando la imagen generada del disco eso?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 24 Ago 2007 12:22 am
Hola DriverOp,
Pues he usado los dos: imagecopyresized() y imagecopyresampled() pero nada de nada.
imagedestroy() ... solo libera la memoria asociada a la imagen, y no la elimina del servidor o disco.

Bueno voy a seguir probando... Pero muchas gracias por la respuesta.

Saludos.

Por raulcuya

6 de clabLevel



Genero:Masculino  

Peru

msie7

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.