Bosky, Dave wrote: > Does anyone have a nice function that will resize an uploaded image to > specific width/height dimensions? Not a function, per se, but I use this script: <?php $path = $_SERVER['PATH_INFO']; ereg(".*/target/([0-9]*).*", $path, $target); $target = isset($target[1]) && $target[1] ? $target[1] : 50; $path = ereg_replace("/target/[0-9]*", "", $path); list($junk1, $junk2, $type) = @getimagesize($path); $type = isset($type) && $type ? $type : IMAGETYPE_JPEG; switch ($type){ case IMAGETYPE_JPEG: $fullsize = imagecreatefromjpeg($path); break; case IMAGETYPE_GIF: $fullsize = imagecreatefromgif($path); break; case IMAGETYPE_PNG: $fullsize = imagecreatefrompng($path); break; } $width = imagesx($fullsize); $height = imagesy($fullsize); if ($width > $height){ $scale = $target/$width; } else{ $scale = $target/$height; } if ($scale < 1){ $w = round($scale * $width); $h = round($scale * $height); $thumbnail = imagecreatetruecolor($w, $h); imagecopyresized($thumbnail, $fullsize, 0, 0, 0, 0, $w, $h, $width, $height); header("Content-type: image/jpeg"); imagejpeg($thumbnail); } else{ imagejpeg($fullsize); } ?> So for 50x50 images, I just use: http://example.com/scale.php/full/path/to/originalfile.jpg If I want some other size, I just use: http://example.com/scale.php/target/150/full/path/to/originalfile.jpg where 150 is the max width/height I want. > I wanted to find something that would work for only GIF and JPG image > types. Looks like I just output a JPEG no matter what the input is -- You'll have to add another 'switch' statement much like the one near the top to decide which kind of image to output. Probably be a good idea to add some error-checking right after the getimagesize call, and if that failed, just die(). -- Like Music? http://l-i-e.com/artists.htm -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php