Al crear un thumbnail quiero poner solo el width (ancho) y que el height (alto) sea proporcional para que no se deforme la imagen, mi cpodigo es el siguiente:
Código PHP:
<?php
$status = "";
($_POST["action"] == "upload") or die ("Error al subir la imagen.");
// obtenemos los datos del archivo
$tamano = $_FILES["archivo"]['size'];
$tipo = $_FILES["archivo"]['type'];
$archivo = $_FILES["archivo"]['name'];
$prefijo = substr(md5(uniqid(rand())),0,6);
($archivo != "") or die ("Error al subir la imagen ".$archivo);
// guardamos el archivo a la carpeta "capturas"
($tipo == "image/jpeg" || $tipo == "image/jpg") or die ("Sólo se admiten imágenes en <b>.jpg</b> y <b>.jpeg</b>");
$destino = "capturas/".$prefijo."_".$archivo;
(copy($_FILES['archivo']['tmp_name'],$destino)) or die ("Error al subir la imagen ".$archivo);
$status = "La imagen <b>".$archivo."</b> se a subido correctamente !";
echo $status;
//aquí empieza el código de creación del thumbnail
$source=$destino; // archivo de origen
$dest="capturas/thumb/tb_".$archivo; // archivo de destino
$width_d=117; // ancho de salida
$height_d=82; // alto de salida
list($width_s, $height_s, $type, $attr) = getimagesize($source, $info2); // obtengo información del archivo
$gd_s = imagecreatefromjpeg($source); // crea el recurso gd para el origen
$gd_d = imagecreatetruecolor($width_d, $height_d); // crea el recurso gd para la salida
imagecopyresampled($gd_d, $gd_s, 0, 0, 0, 0, $width_d, $height_d, $width_s, $height_s); // redimensiona
imagejpeg($gd_d, $dest); // graba
// Se liberan recursos
imagedestroy($gd_s);
imagedestroy($gd_d);
?>
http://www.forosdelweb.com/f18/subir-imagen-crear-thumbnail-mismo-script-527958/
En el codigo anterior tengo que especificar el alto tambien
Código PHP:
imagecopyresampled($gd_d, $gd_s, 0, 0, 0, 0, $width_d, $height_d, $width_s, $height_s); // redimensiona