<?php
function makeThumb($dir,$pic,$n,$t){
@list($width, $height, $type, $attr) = @getimagesize($pic);
$max_w = 100;
$max_h = 100;
$ratio = @min($max_w/$width,$max_h/$height);
//metto nella variabile $ratio il valore minimo tra questi due valori: massima_larghezza/larghezza_immagine e massima_altezza/altezza
// Verifico che l'immagine originale abbia almeno una dimensione più grande delle dimensioni massime impostate (es 100x100pxl)
if ($ratio < 1){
// Individuo le nuove dimensioni da assegnare all'immagine ridimensionata sulla base del valore $ratio, poi approssimato tramite la funzione floor
$w = @floor($ratio*$width);
$h = @floor($ratio*$height);
// creo una nuova immagine con le dimensioni appena calcolate
$thumb = @imagecreatetruecolor($w,$h);
if ($t == 'image/jpeg'){$temp = @imagecreatefromjpeg($pic);}
elseif ($t == 'image/gif'){$temp = @imagecreatefromgif($pic);}
elseif ($t == 'image/png'){$temp = @imagecreatefrompng($pic);}
// ridimensiono l'originale e salvo nella cartella di destinazione
@imagecopyresized($thumb,$temp,0,0,0,0,$w,$h,$width,$height);
if ($t == 'image/jpeg'){@imagejpeg($thumb,"$dir/tb_".$n, 75);}
elseif ($t == 'image/gif'){@imagegif($thumb,"$dir/tb_".$n, 75);}
elseif ($t == 'image/png'){@imagepng($thumb,"$dir/tb_".$n, 75);}
}
}