Ciao,
tempo fa ho avuto un problema simile ed ho risolto così:

Codice PHP:

... codice upload file

' ridimensionamento immagine:
$larghezza=200; 
$altezza=180;
if (resizeImage($fileupload_temp, $target_path, $larghezza, $altezza)) { 
    $ret=true; }
else { 
    return false;
}

// se lavora con file uploaded by remoto
// riceve come parametro $imgIn: $_FILES['
image']['tmp_name']
function resizeImage($imgIn, $imgOut, $larghezza, $altezza)
{
    // Ottengo le informazioni sull'
immagine originale
    
list($width$height$type$attr) = getimagesize($imgIn);
    
    
// Crea la versione $larghezza*$altezza dell'immagine
    
$thumb imagecreatetruecolor($larghezza$altezza);
    
$source imagecreatefromjpeg($imgIn);
    
imagecopyresized($thumb$source0000$larghezza$altezza$width$height);
    
    
// Salva immagine ridimensionata
    // parametro qualità 1-100, ottimale 65-85, predefinito 75.
    
return imagejpeg($thumb$imgOut75);


Parte di questo codice l'ho trovato in rete.
Spero possa aiutarti.

Ciao