se imposti solo una delle due dimensioni ti fa la proporzione in auto ... comunque le dimensioni puoi leggerle facilmente usando
www.php.net/getimagesize
non ha bisogno delle gd (se non erro) e ti da i parametri necessari per effettuare la proporzione
$array = getimagesize($path);
if ($array[0] > $MAX_WIDTH)
{
$url = "<img src=\"_PERCORSO_\" width=\"{$MAX_WIDTH}\" />"
}
else
{
$url = "<img src=\"_PERCORSO_\" height=\"{$MAX_HEIGHT}\" />"
}
ovviamente puoi evitare di ripetere due volte lo stesso codice
nota: questo non effetta una vera è propria riduzione dell'immagine ... l'immagine viene spedita grande e viene poi ridotta dal client quindi i dati trasmessi sono uguali ... l'unica cosa che cambia è che viene "visualizzata" più piccola e nulla più
ps: non esiste codice php che faccia le riduzioni senza librerie ... io ho sviluppato una classe per gestire le bitmap e solo la creazione di queste è infinitamente pesante ... ci vogliono svariati e svariati secondi per creare una bitmap a 640x480 ... quindi figurati quanto ci sta ad eseguire un resize, ovvero l'applicazione di N calcoli matematici ad una matrice WIDTH x HEIGHT x BIT ^^