ciao a tutti ho bisogno di un vostro consiglio

Codice PHP:
      if (is_uploaded_file($_FILES['file1']['tmp_name'])) {
         
$percorso "../public/images/";
        
$nomefile "prod".$codprod.".gif";

        if (
move_uploaded_file($_FILES['file1']['tmp_name'], $percorso.$nomefile)) {
            
$sql3 "INSERT INTO `catalogo` (`catalog_codprod`, `catalog_cat`, `catalog_sottocat`, `catalog_descrizione`, `catalog_url`, `catalog_prezzo`) VALUES ('$codprod', '$cat', '$sottocat', '$des', 'public/images/$nomefile', '$prezzo');";
            
$result3=mysql_query($sql3);
               if(!
$result3) {
                  echo (
"Fallimento nell'esecuzione della query ($sql3) dal DB: " mysql_error());
                  exit;
               } 
            
header("location:menu.php");
        }
    } 
Con questa porzione di codice io vado ad uplodare una immagine il quale url viene passato da una form..
Questa funzione come potete vedere riempie il mio "catalogo di prodotti", pero per ipotesi io nn so l'utente che dimensione sta caricando il cliente e nn posso rischiare di caricare una immagine grossissima perche poi il sito verrebbe lentissimo..
Come posso fare a ridimensionare l'immagine (ipotizzando che sia una fotografia 4:3) affinche venga delle mie dimensioni desiderate?
PS se avete consigli su come migliorare upload sono sempre ben accetti

Grazie a tutti ciao ciao