check out the gd lib... here is some code i wrote, but have never gotten the focking chance to use because i can't get jpeg support installed right. argh... anyways i hope it helps.
this assumes that you uploaded the file using a post form, and named the file field "new_photo"
BEGIN CODE *
if($new_photo != 'none') {
if(eregi(".[.]+$", $new_photo_name, $matches)) $extension = strtolower($matches[0]);
if($extension == ".jpg" || $extension == ".jpeg") {
rename($server_root."employee_photos/".$employee_id.".jpg", $server_root."employee_photos/".$employee_id.".jpg.tmp");
if(copy($new_photo, $server_root."employee_photos/".$employee_id.".jpg")){
// GD LIB STUFF
$im = imagecreatefromjpeg($server_root."employee_photos/".$employee_id.".jpg");
$array = getimagesize($server_root."employee_photos/".$employee_id.".jpg");
$original_width = $array[0];
$original_height = $array[1];
if($original_width > $original_height) {
$thumbnail_height = round((80 * $original_height) / $original_width);
$thumbnail_width = 80;
$employee_photo_height = round((250 * $original_height) / $original_width);
$employee_photo_width = 250;
} else {
$thumbnail_width = round((80 * $original_width) / $original_height);
$thumbnail_height = 80;
$employee_photo_width = round((250 * $original_width) / $original_height);
$employee_photo_height = 250;
}
$thumbnail = imagecreate($thumbnail_width, $thumbnail_height);
$employee_photo = imagecreate($employee_photo_width, $employee_photo_height);
imagecopyresized($thumbnail, $im, 0, 0, 0, 0, $thumbnail_width, $thumbnail_height, $original_width, $original_height);
imagecopyresized($employee_photo, $im, 0, 0, 0, 0, $employee_photo_width, $employee_photo_height, $original_width, $original_height);
imagejpeg($im, $server_root."employee_photos/".$employee_id.".jpg");
imagejpeg($thumbnail, $server_root."employee_photos/".$employee_id."thumbnail.jpg");
imagejpeg($employee_photo, $server_root."employee_photos/".$employee_id."employee_photo.jpg");
} else {
echo "<p align='center'><b>could not upload new photo</b></p><br />\n";
rename($server_root."employee_photos/".$employee_id.".gif.tmp", $server_root."employee_photos/".$employee_id.".gif");
}
} else {
echo "<p align='center'><b>could not upload new photo</b></p><p>only jpg files are allowed</p><br />\n";
}
}
END CODE
again... never tested so probably has a bug or 2, but all the none gd stuff works and the files are created just fine, but no thumbnails 🙁