Create Thumbnail on The Fly Using PHP and GD
Here’s a cool script I use to resize picture on the fly. I don’t wanna loose any space in my server, so instead of creating a real thumbnail file, I generate a thumbnail on the fly.
First, specify the HTTP header.
< ?php
header("Content-type: image/jpeg");
Then, this is the formula to resize the image with aspect ratio. We will only need to specify new thumbnail’s width. And its height will be automatically set.
< ?php
// get image size
$file = $_GET[image];
if($size = GetImageSize($file)){
$w = $size[0];
$h = $size[1];
//set new size
$nw = $_GET['width'];
$nh = ($nw*$h)/$w;
}
else{
//set new size
$nw = "0";
$nh = "0";
}
?>
Now let’s draw the image:
< ?php
//draw image
$src_img = imagecreatefromjpeg($file);
$dst_img = imagecreatetruecolor($nw,$nh);
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $nw, $nh, $w, $h);
imagejpeg($dst_img,"",100);
imagedestroy($src_img);
imagedestroy($dst_img);
?>
Save above pieces code into a file, name it thumbnail.php, for example. Then, call it with common <IMG SRC=”thumbnail.php?image=img/picture.jpg&width=150″ />
Your image should be succesfully displayed. If you have any question, please don’t hesitate to contact me yeni.setiawan AT yahoo DOT com ^_*
You may also like
2 comments
Leave a ReplyCancel reply
Archives
- April 2025
- March 2025
- February 2025
- November 2023
- January 2023
- October 2022
- August 2022
- April 2022
- March 2022
- January 2022
- July 2021
- October 2020
- August 2020
- June 2020
- January 2020
- November 2019
- July 2019
- December 2018
- October 2018
- September 2018
- August 2018
- May 2018
- March 2018
- February 2018
- December 2017
- September 2017
- June 2017
- March 2017
- February 2017
- January 2017
- December 2016
- November 2016
- October 2016
- August 2016
- July 2016
- June 2016
- May 2016
- April 2016
- March 2016
- February 2016
- January 2016
- December 2015
- November 2015
- October 2015
- September 2015
- August 2015
- July 2015
- June 2015
- April 2015
- March 2015
- February 2015
- January 2015
- December 2014
- November 2014
- October 2014
- September 2014
- August 2014
- July 2014
- May 2014
- April 2014
- March 2014
- February 2014
- November 2013
- October 2013
- September 2013
- July 2013
- June 2013
- January 2013
- December 2012
- June 2012
- May 2012
- April 2012
- March 2012
- February 2012
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- August 2011
- July 2011
- June 2011
- May 2011
- April 2011
- March 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- August 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- September 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- June 2006
- March 2006
Calendar
| M | T | W | T | F | S | S |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | |||||
Thanks for this simple tutorial.
What do you think about the server load if you create all images on the fly, especially when you have a photo gallery?
Kalo webnya rame bisa peyok servernya, mbak, servere perlu jamu sing akeh ^_^