All'interno della funzione devi andare ad usare getimagesize() per sapere le dimensioni originali del file.
Devi effettuare un ciclo in cui confronti l'altezza e la larghezza della foto che hai, con le dimensioni che vuoi ottenere nella miniatura.
Per capirci: se vuoi una miniatura da 100 px x 80 px, ma comunqe per una questione di layout non vuoi che l'altezza della miniatura sia diversa da 80, e se non vuoi che l'immagine sia distorta, allora devi impostare l'altezza della miniatura ad 80px, andare a vedere quale sia il rapporto di ridimensionamento tra l'altezza originale e 80, quindi moltiplicare la larghezza per lo stesso rapporto.
Quella sarà la width della tua miniatura.
![]()