Foros del Web » Programando para Internet » PHP »

Redimensionar JPEG: No consigo encontrar mi error

Estas en el tema de Redimensionar JPEG: No consigo encontrar mi error en el foro de PHP en Foros del Web. Buenas. He leido prácticamente todos los post que hay en el foro sobre ese tema y no consigo saber donde me equivoco. Tengo un form ...
  #1 (permalink)  
Antiguo 23/05/2006, 15:08
 
Fecha de Ingreso: enero-2002
Mensajes: 265
Antigüedad: 22 años, 2 meses
Puntos: 0
Redimensionar JPEG: No consigo encontrar mi error

Buenas. He leido prácticamente todos los post que hay en el foro sobre ese tema y no consigo saber donde me equivoco. Tengo un form q me sube 3 fotos. Antes de poner lo de redimensionar funcionada, asi que el error, supogno q esta en la funcion de redimensionar. La pagina que llama a la funcion tiene:

Cita:
for ($n = 1; $n <= 3; $n++) {
//todas esas variables estan declaradas anteriormente, no las pongo para no extenderme demasiado. repito q antes de incorporar la funcion funcionaba
if((($tipo[$n]!='image/pjpeg' && $fototipo!='image/jpeg') OR ($tamany[$n]>=500000)) AND ($tipo[$n]!='')){
echo "<p><img src='images/del.gif' height=20> La <b>Foto ".$n."</b> no és una arxiu vàlid per publicar. ";
echo "Recorda que les fotos han d'estar en format JPG o JPEG i no superar els 500Kb!</p>";
echo "<p align=right><a href=javascript:history.back(-1)>Tornar</a></p>";
include ('footer.php');
exit;
}
else{
if($tamany[$n]!=''){
resize_image($_FILES['foto'.$n]['tmp_name'],"fotos/noticies/".$nomfoto[$n]);
//ese link despues se mete en una base de datos
$foto[$n]=('<img src="fotos/noticies/'.$nomfoto[$n].'" width=120 border="0">');
/* if(!move_uploaded_file){
echo "<p><img src='images/del.gif' height=15> Hi ha hagut un error durant el procés de publicació de les fotos.</p>";
}
*/ }
}
}
La funcion es esa:


Cita:
<?php
//functio per reduir imatges i que ocupin menys
function resize_image($file_temp,$desti_foto){
$ThumbWidth = 700;//tamany d'ample de la imatge en px

$new_img = imagecreatefromjpeg($file_tmp);
//list width and height and keep height ratio.
list($width, $height) = getimagesize($file_tmp);
$imgratio=$width/$height;
if ($imgratio>1){
$newwidth = $ThumbWidth;
$newheight = $ThumbWidth/$imgratio;
}
else{
$newheight = $ThumbWidth;
$newwidth = $ThumbWidth*$imgratio;
}
//function for resize image.
if (function_exists(imagecreatetruecolor)){
$resized_img = imagecreatetruecolor($newwidth,$newheight);
}
else{
die("<p><img src='images/del.gif' height='20'>Error no s'ha pogut crear la imatge</p>");
}
imagecopyresized($resized_img, $new_img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
//save image
imagejpeg ($resized_img,$desti_foto);
imagedestroy ($resized_img);
imagedestroy ($new_img);
//print message
echo ("<p><img src='images/tick.gif' height='20'> Imatge carregada i escalada correctament!</p>");
}
?>
No me da error, sólo que no me guarda la imagen escalada en la carpeta fotos/noticias/. Ese código lo he sacado de una página donde había una funcion enoooorme para reescalar cualquier imagen. A mi solo me interesa las de jpeg, creo q no he seccionado ningún trozo importante. Me podeis ayudar?
Muchas gracias!
  #2 (permalink)  
Antiguo 23/05/2006, 15:10
 
Fecha de Ingreso: enero-2002
Mensajes: 265
Antigüedad: 22 años, 2 meses
Puntos: 0
Ah! si os sirve de ayuda me he dado cuenta que la ruta $file_tmp me llega correctamente pero al imprimir las variables $height y width obtenidas del $file_tmp me salen en blanco... vacias!
  #3 (permalink)  
Antiguo 24/05/2006, 02:16
 
Fecha de Ingreso: junio-2004
Mensajes: 36
Antigüedad: 19 años, 9 meses
Puntos: 0
No le pases al función el tmp_name, pasale el name.

Salu2
  #4 (permalink)  
Antiguo 24/05/2006, 13:46
 
Fecha de Ingreso: enero-2002
Mensajes: 265
Antigüedad: 22 años, 2 meses
Puntos: 0
smrc2k gracias por tu ayuda pero quieres saber donde he encontrado el error? cierto es que cuando dejas "descansar" un codigo y lo miras al proximo dia todo se ve diferente...
pues bien, una tonteria, le pasaba la variable dentro la var $file_temp y despues llamaba la $file_tmp. Logico que no me salieran los tamaños...
Y por cierto, digo enviado el temporal y me va de maravilla. muchas gracias de todas formas!
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 17:03.