<?php/** * Generate thumbnail function (supports picture format: GIF, JPEG, PNG and BMP) * @author ruxing.li * @param string $src source picture Path * @param int $width thumbnail width (equal to zoom only when height is specified) * @param int $width thumbnail height (equal to zoom only when width is specified) * @param String $filename save path (output directly to browser if not specified) * @return bool */function Mkthumbnail ($src, $width = null, $height = n ull, $filename = null) {if (!isset ($width) &&!isset ($height)) return false; if (Isset ($width) && $width <= 0) return false; if (Isset ($height) && $height <= 0) return false; $size = getimagesize ($SRC); if (! $size) return false; List ($src _w, $src _h, $src _type) = $size; $SRC _mime = $size [' MIME ']; Switch ($src _type) {Case 1: $img _type = ' gif '; Break Case 2: $img _type = ' jpeg '; Break Case 3: $img _type = ' png '; Break Case: $img _type = ' wbmp '; Break Default:return false; if (!isset ($width)) $width = $src _w * ($height/$src _h); if (!isset ($height)) $height = $src _h * ($width/$src _w); $imagecreatefunc = ' Imagecreatefrom '. $img _type; $src _img = $imagecreatefunc ($SRC); $dest _img = Imagecreatetruecolor ($width, $height); Imagecopyresampled ($dest _img, $src _img, 0, 0, 0, 0, $width, $height, $src _w, $src _h); $imagefunc = ' image '. $img _type; if ($filename) {$imagefunc ($dest _img, $filename); } else {header (' Content-type: '. $src _mime); $imagefunc ($dest _img); } Imagedestroy ($src _img); Imagedestroy ($dest _img); return TRUe } $result = Mkthumbnail ('./img_3324.jpg ', 147, 147);
Support for opening GD libraries before use
PHP Generate image Thumbnail function