function _resize_image_gd2($imgfile,$w = NULL,$h = NULL,$format = 'png',$destfile = NULL) { $size = getimagesize($imgfile); $s_w = $size[0]; $s_h = $size[1]; switch ($size[2]) { case 1: // GIF $src = imagecreatefromgif($imgfile); break; case 2: // JPEG check_jpeg($imgfile); $src = imagecreatefromjpeg($imgfile); break; case 3: // PNG $src = imagecreatefrompng($imgfile); break; default: $src = imagecreatefromstring(file_get_contents($imgfile)); } if (!is_resource($src)) { return false; } $dest = imagecreatetruecolor($w,$h); if (!is_resource($dest)) { return false; } imageantialias($dest,TRUE); imagecopyresampled($dest,$src,0,0,0,0,$w,$h,$s_w,$s_h); if (isset($destfile)) { switch (strtolower($format)) { case 'jpg': case 'jpeg': imagejpeg($dest,$destfile); break; case 'png': imagepng($dest,$destfile); break; default: return false; } } else { switch (strtolower($format)) { case 'jpg': case 'jpeg': imagejpeg($dest); break; case 'png': imagepng($dest); break; default: return false; } } return true; }