Bueno, una imagen de previsualización la puedes hacer tú mismo usando las liberías GD. Este es un código que hace eso, yo creo que tú eres lo suficientemente inteligente como para adapatarlo a tus necesidades.
Código PHP:
// Se obtienen las nuevas dimensiones
list($width, $height, $tip) = getimagesize($filename);
if ($h) {
$newheight = $h;
$newwidth = round(($width/$height)*$newheight);
} else if ($w) {
$newwidth = $w;
$newheight = round(($height/$width)*$newwidth);
}
// Cargar la imagen
$thumb = imagecreatetruecolor($newwidth, $newheight);
if ($tip == 1) $source = imagecreatefromgif($filename);
elseif ($tip == 2) $source = imagecreatefromjpeg($filename);
elseif ($tip == 3) $source = imagecreatefrompng($filename);
// Redimensionar
imagecopyresampled($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// Mostrar la nueva imagen
imagejpeg($thumb, $archivo);