Pues me va perfecto con las imágenes JPG o GIF, pero con las imágenes png no funciona, el archivo sube al servidor pero al descargarlo me dice que está dañado o es muy grande (grande no es)
Este es mi código:
Código PHP:
function cambiartam($nombre,$destino,$ancho,$alto,$origen)
{
$tmp=explode(".",$nombre);
$nombre2=$origen.$nombre;
if ($tmp[1]=="png") {$original = imagecreatefrompng($nombre2);}
elseif ($tmp[1]=="gif") {$original = imagecreatefromgif($nombre2);}
else {$original = imagecreatefromjpeg($nombre2);}
//calculamos proporcionalmente el ancho de la imagen según alto 163
list($anchoa, $altoa) = getimagesize($nombre2);
if ($anchoa>$ancho || $altoa>$alto){
$ratio_orig = $anchoa/$altoa;
if ($ancho/$alto > $ratio_orig) {
$ancho = $alto*$ratio_orig;
} else {
$alto = $ancho/$ratio_orig;
}
}else{
$ancho=$anchoa;
$alto=$altoa;
}
//$original = imagecreatefromjpeg($nombre2);
$thumb = imagecreatetruecolor($ancho,$alto); // Lo haremos de un tamaño 150x150
imagecopyresampled($thumb,$original,0,0,0,0,$ancho,$alto,$anchoa,$altoa);
if ($tmp[1]=="png") {imagePNG($thumb,$destino,90);}
elseif ($tmp[1]=="gif") {imagegif($thumb,$destino,90);}
else {imagejpeg($thumb,$destino,90);}
}
Muchas gracias