I use the similar on my store2go site. You can do it in two ways:
1. Upload image and instantly create a thumbnail. See code:
[php]
// if jpg use
$src_img=ImageCreateFromJpeg($uploadedfile);
// else if gif use
$src_img=ImageCreateFromGif($uploadedfile);
// and for png use
$src_img=ImageCreateFromPng($uploadedfile);
// create the scaled instance for thumbnail in GIF
$dst_img=imagecreatetruecolor($thumb_width,$thumb_height);
ImageCopyResampled($dst_img,$src_img,0,0,0,0,$thumb_width,$thumb_height,$mywidth,$myheight);
// write the damned thing to disk
ImageGif($dst_img,"uploaddir/thumbnail.gif");
[/php]
2. Upload image and resize to the acceptable resolution (say 800x600 max). When displaying the thumb and link, simply resize the resized image using code below:
[php]
$size = GetImageSize($image);
$width = round($size[0]);
$height = round($size[1]);
$percentage = 1;
// set target thumbnail size
$targetw = 100;
$targeth = 75;
// reduce image to target dimensions
if ($width > $height) {
if ($width > $targetw) $percentage = ($targetw / $width);
}
else {
if ($height > $targeth) $percentage = ($targeth / $height);
}
$width = round($width * $percentage);
$height = round($height * $percentage);
echo '<a href="'.$image.'"><img src="'.$image.'" border="0" alt="" width="'.$width.'" height="'.$height.'"></a>';
[/php]