Pues yo por ejemplo ocupo crear imagenes mas pequeñas que las que subo y necesito que no sean mayores de 150px de alto ni de ancho y uso esto
Código PHP:
$tmp = imagecreatefromjpeg($upload);
if ($tmp){
$ow = imagesx($tmp);// Ancho Original de la imagen
$oh = imagesy($tmp);// Alto Original de la imagen
$proporcion = $oh/$ow;
if ($ow > $oh){
$small_w = 150;
$small_h = 150 * $proporcion;
}elseif ($ow < $oh){
$small_w = 150/$proporcion;
$small_h = 150;
}elseif ($ow == $oh){
$small_w = 150;
$small_h = 150;
}
$small_w = el ancho de la miniatura
$small_h = el alto de la miniatura
Modificandolo un poco lo adaptas a tus necesidades.
Salu2