Valhalla Legends Archive

Programming => Web Development => Topic started by: Barabajagal on September 24, 2008, 02:45 PM

Title: Generating Thumbnails
Post by: Barabajagal on September 24, 2008, 02:45 PM
Last night, I wrote this code to generate a thumbnail no greater than 250x250 pixels from any JPG, GIF, or PNG file online. Today, I modified it so it won't write to the server at all. I'd like to know if it can be improved in any way?
<?php /* PHP Thumbnail Generator    Written by    RealityRipple Software    September 24, 2008 */ $maxSize = 250; $quality = 80; $imgURL = str_replace(' ','%20',$_REQUEST['url']); $ext = substr($imgURL, -3); if (strtolower($ext) == 'jpg') {  $img = imagecreatefromjpeg($imgURL); } else if (strtolower($ext) == 'gif') {  $img = imagecreatefromgif($imgURL); } else if (strtolower($ext) == 'png') {  $img = imagecreatefrompng($imgURL); } else {  die(); } $pWid = imagesx($img); $pHgh = imagesy($img); if ($pWid > $maxSize || $pHgh > $maxSize) {  if ($pWid < $pHgh)  {   $tHgh = $maxSize;   $tWid = $pWid / ($pHgh / $maxSize);  }  else if ($pHgh < $pWid)  {   $tHgh = $pHgh / ($pWid / $maxSize);   $tWid = $maxSize;  }  else  {   $tHgh = $maxSize;   $tWid = $maxSize;  } } else {  $tHgh = $pHgh;  $tWid = $pWid; } $thumb = imagecreatetruecolor($tWid, $tHgh); imagecopyresampled($thumb, $img, 0, 0, 0, 0, $tWid, $tHgh, $pWid, $pHgh); ob_start();  imagejpeg($thumb, NULL, $quality);  $tData = ob_get_contents();  $tLen = ob_get_length(); ob_end_clean(); Header("Content-Type: image/jpeg"); Header("Content-Length: $tLen"); echo $tData; imagedestroy($img); imagedestroy($thumb);?>


Oh, and can someone help me get it to work with this image (http://www.maybethisisthebiggestlogooffirefoxintheworld.cn/MaybeThisIsTheBiggestLogoOfFirefoxInthisWorld.png) (Warning: huge file)? I already tried setting the memory_limit to 100M and even -1.
Title: Re: Generating Thumbnails
Post by: iago on September 24, 2008, 04:03 PM
The code is extremely hard to read, and a bunch of "#160"s seem to be getting stuck in there. Anybody know what the deal is?
Title: Re: Generating Thumbnails
Post by: Barabajagal on September 24, 2008, 04:07 PM
Eww, what the hell happened? Edit: repasted and they seem to have gone away. I still don't like the coloring, though.
Title: Re: Generating Thumbnails
Post by: K on September 24, 2008, 10:38 PM
You could use urldecode() instead of replacing %20 with space manually.  That way it would also work for other encoded characters.
Title: Re: Generating Thumbnails
Post by: K on September 24, 2008, 10:39 PM
Quote from: K on September 24, 2008, 10:38 PM
You could use urlencode()/urldecode() instead of swapping %20 with space manually.  That way it would also work for other encoded characters.
Title: Re: Generating Thumbnails
Post by: Barabajagal on September 24, 2008, 11:35 PM
Tried it, it didn't work because it converts too much stuff (/ for example).