Puedes probar esto tambien a ver si te sirve:
Código PHP:
<?
$datos = getimagesize(rutaimagen);
$ancho = $datos[0]; // el ancho
$alto = $datos[1]; // la altura
$limite = 100; // el tamaño maximo
if ($alto > $ancho) {
$altura = $limite;
$anchura = (($limite * $ancho)/$alto);
$anchura = round($anchura); // redondeamos los decimales
} else {
$anchura = $limite;
$altura = (($limite * $alto)/$ancho);
$altura = round($altura);
}
?>
luego le das de ancho $anchura y de alto $altura a la imagen.
Te sirve tanto para imagenes mas altas que anchas como para imagenes mas anchas que altas o para imagenes cuadradas.
Hasta luego