questa è la versione più semplice:
codice:
if(isset($_FILES['immagine'])){
$x_thumb = 48;
$temp = $_FILES['immagine']['tmp_name'];
$dim = getimagesize($temp);
$y_thumb = $dim[1]/$dim[0]*$x_thumb;
$im = imagecreatetruecolor($x_thumb, $y_thumb);
if ($dim[2] == 1)
$im_or = imagecreatefromgif($temp);
elseif($dim[2] == 2)
$im_or = imagecreatefromjpeg($temp);
elseif($dim[2] == 3)
$im_or = imagecreatefrompng($temp);
imagecopyresampled($im, $im_or, 0, 0, 0, 0, $x_thumb, $y_thumb, $dim[0], $dim[1]);
imagejpeg($im,'immagine.temp',70);
imagedestroy($im_or);
imagedestroy($im);
// leggo la thumbnail appena creata per inserirla nel db
$data = addslashes( fread( fopen('immagine.temp', 'rb'), filesize( 'immagine.temp')));
unlink('immagine.temp');
} else {
echo '
<form action="prova.php" method="post" enctype="multipart/form-data">
<input type="file" name="immagine" />
<input type="submit" value="invia" />
</form>
';
}