thumbnail creation PHP script

 
  • To create a thumbnail, first check file entenson, and then read in the file using the imagecreatefromjpeg() or imagecreatefrompng() or imagecreatefromgif() function and can calculate the new thumbnail size.
  • imagesx() and imagesy() functions return the width and height of the image respectively.
 
 
function createthumb($name,$filename,$new_w,$new_h)
{
$system=explode(".",$name);
if (preg_match("/jpg|JPG|jpeg|JPEG/",$system[1])){$src_img=imagecreatefromjpeg($name);}
 

elseif (preg_match("/png|PNG/",$system[1])){$src_img=imagecreatefrompng($name);}

elseif (preg_match("/gif|GIF/",$system[1])){$src_img=imagecreatefromgif($name);}


$old_x=imageSX($src_img);
$old_y=imageSY($src_img);
if ($old_x > $old_y)
{
$thumb_w=$new_w;
$thumb_h=$old_y*($new_h/$old_x);
}
if ($old_x < $old_y)
{
$thumb_w=$old_x*($new_w/$old_y);
$thumb_h=$new_h;
}
if ($old_x == $old_y)
{
$thumb_w=$new_w;
$thumb_h=$new_h;
}
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
if (preg_match("/png/",$system[1]))
{
imagepng($dst_img,$filename);
}
elseif (preg_match("/gif/",$system[1]))
{
imagegif($dst_img,$filename);
}
else{
imagejpeg($dst_img,$filename);
}

imagedestroy($dst_img);
imagedestroy($src_img);
}