I have this code that I use to upload an original image and then two smaller versions. It works fine.
CODE
-----------------
<?
if (!isset($_POST['action']))
{
?>
<form action="" method="POST" enctype="multipart/form-da
ta">
<input type="hidden" name="MAX_FILE_SIZE" value="2500000">
Select an image: <input type="file" name="imgfile" class="button"><br>
<br>
<center><font size="2">
<br>
For best results, use the dimensions (Height = 167px, Width = 200px).<br>
<br>
Please note: Only "jpg" images are currently supported. Files ending in ".jpeg" must be renamed to ".jpg" in order to be uploaded.<br>
<br>
</font>
<br>
<input type="hidden" name="action" value="do_upload">
<input type="submit" value="Submit Image">
</form><br><br>
<?
$result = mysql_query("SELECT * FROM bandinfo WHERE userid = '$ud_id'");
$num = mysql_num_rows($result);
$i = 0;
$pic = mysql_result($result,$i,"p
ic");
if (!empty($pic)){
?>
<?
} else {
?>
<?
}
?>
<?
} elseif ($_POST['action'] == "do_upload") {
$name = $_FILES['imgfile']['name']
;
if ($_FILES['imgfile']['type'
] != 'image/jpeg' and $_FILES['imgfile']['type']
!= 'image/pjpeg') {
?>
<?
exit;
}
$uploaddir1 = "pics";
$uploaddir2 = "pics";
$uploaddir3 = "pics";
$final_filename1 = $ud_id."_l.jpg";
$final_filename2 = $ud_id."_m.jpg";
$final_filename3 = $ud_id."_s.jpg";
$imgfile = $_FILES['imgfile']['tmp_na
me'];
if (is_uploaded_file($imgfile
)) {
$newfile = $uploaddir1 . "/" . $final_filename1;
copy($imgfile, $newfile);
resize_me ($imgfile, $uploaddir2, $final_filename2, "75");
resize_me ($imgfile, $uploaddir3, $final_filename3, "50");
$query = "UPDATE `bandinfo` SET `pic` = '$ud_id' WHERE `userid` = '$ud_id'";
mysql_query($query) or die('Error, insert query failed');
}
?>
<?
}
function resize_me ($img, $path, $name, $percent) {
//image file path
//the folder to save to
//the name to use when saving
//percent to resize
$orig_image = $img;
$image_stats = GetImageSize($orig_image);
$imagewidth = $image_stats[0];
$imageheight = $image_stats[1];
$img_type = $image_stats[2];
$new_w = $imagewidth * $percent;
$new_w = round($new_w / 100);
$ratio = ($imagewidth / $new_w);
$new_h = round($imageheight / $ratio);
if ($img_type=="2") {
$src_img = imagecreatefromjpeg($orig_
image);
$dst_img = imagecreatetruecolor($new_
w,$new_h);
imagecopyresampled($dst_im
g,$src_img
,0,0,0,0,$
new_w,$new
_h,imagesx
($src_img)
,imagesy($
src_img));
imagejpeg($dst_img, "$path"."/$name");
} elseif ($img_type=="3") {
$dst_img=imagecreatetrueco
lor($new_w
,$new_h);
$src_img=ImageCreateFrompn
g($orig_im
age);
imagecopyresampled($dst_im
g,$src_img
,0,0,0,0,$
new_w,$new
_h,ImageSX
($src_img)
,ImageSY($
src_img));
Imagepng($dst_img, "$path"."/$name");
}
}
?>
---------------
Is it possible to modify it so that I first resize the original image to Height = 167px, Width = 200px, save that file as the original and then create the smaller versions?