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>
	';
}