//-----------制作缩略图函数---------------------- //--参数1. 原始图片存放位置 //--参数2.缩略图图片存放位置 //--参数3.缩略图大小(单位像素) function mkthumb($orig,$thumb,$maxLength){ $ext=strrchr($orig,'.'); $ext=strtolower($ext); //按照扩展名的不同 switch($ext){ case '.jpg': case '.jpeg': $picSrc=imagecreatefromjpeg($orig); break; case '.png': $picSrc=imagecreatefrompng($orig); break; case '.gif': $picSrc=imagecreatefromgif($orig); break; default: //返回错误信息 return "不支持$ext格式文件"; } //取得原始图的高度($picSrc_y)与宽度($picSrc_x) $picSrc_x=imagesx($picSrc); $picSrc_y=imagesy($picSrc); //按照$maxLength参数,计算缩略图应该使用的 //高度($pixSrc_y)与宽度($pixSrc_y) if($picSrc_x>$picSrc_y){ $picDst_x=$maxLength; //intval()可以取得数字的整数部分 $picDst_y=intval($picSrc_y/$picSrc_x*$maxLength); }else{ $picDst_x=$maxLength; $picDst_y=intval($picSrc_x/$picSrc_y*$maxLength); } //在内存中创建新图 $picDst=imagecreatetruecolor($picDst_x,$picDst_y); //将原始照片复制并缩小到新图 imagecopyresized($picDst,$picSrc,0,0,0,0,$picDst_x,$picDst_y,$picSrc_x,$picSrc_y); //将新图写入到$thumb参数指定的缩图文件名 imagejpeg($picDst,$thumb); return 'ok'; } mkthumb('./image/_MG_6485.JPG','368.jpeg',200);