请看代码:list($maintype,$subtype)=explode("/",$_FILES['upload']['type']); functionset_thumb($width,$height){ $thumb_width=$width; $thumb_height=$height; } //创建缩略图,以相同的扩展名生成缩略图 //$src_file:来源图像路径,$thumb_file:缩略图路径 functioncreate_thumb($src_file,$thumb_file){ $t_width=$thumb_width; $t_height=$thumb_height; if(!file_exists($src_file))returnfalse; $src_info=getImageSize($src_file); //如果来源图像小于或等于缩略图则拷贝源图像作为缩略图,免去操作 if($src_info[0]<=$t_width&&$src_info[1]<=$t_height){ if(!copy($src_file,$thumb_file)){ returnfalse; } returntrue; } //按比例计算缩略图大小 if(($src_info[0]-$t_width)>($src_info[1]-$t_height)){ $t_height=($t_width/$src_info[0])*$src_info[1]; }else{ $t_width=($t_height/$src_info[1])*$src_info[0]; } switch($subtype){ case'jpg': $src_img=ImageCreateFromJPEG($src_file);break; case'png': $src_img=ImageCreateFromPNG($src_file);break; case'gif': $src_img=ImageCreateFromGIF($src_file);break; } //创建一个真彩色的缩略图像 $thumb_img=@ImageCreateTrueColor($t_width,$t_height); //ImageCopyResampled函数拷贝的图像平滑度较好,优先考虑 if(function_exists('imagecopyresampled')){ @ImageCopyResampled($thumb_img,$src_img,0,0,0,0,$t_width,$t_height,$src_info[0],$src_info[1]); }else{ @ImageCopyResized($thumb_img,$src_img,0,0,0,0,$t_width,$t_height,$src_info[0],$src_info[1]); } //生成缩略图 switch($subtype){ case'jpg': ImageJPEG($thumb_img,$thumb_file);break; case'gif': ImageGIF($thumb_img,$thumb_file);break; case'png': ImagePNG($thumb_img,$thumb_file);break; } //销毁临时图像 @ImageDestroy($src_img); @ImageDestroy($thumb_img); returntrue; }我是这么调用的:$upfile='uploads/'.rand(0,10000).date('YmdHis').iconv("utf8","UTF-8",$_FILES['upload']['name']); $thumb_file='uploads/'.'thumb_'.rand(0,10000).date('YmdHis').iconv("utf8","UTF-8",$_FILES['upload']['name']);if(is_uploaded_file($_FILES['upload']['tmp_name'])){ if(!move_uploaded_file($_FILES['upload']['tmp_name'],$upfile)){ echo""; echo"alert('不能移动到指定目录!');"; echo"window.history.go(-1);"; echo""; exit(); } @unlink($_FILES['upload']['tmp_name']); set_thumb(100,80); if(create_thumb($upfile,$thumb_file)){ $thumbfile=$thumb_file; }...//中间省略一些数据库操作代码数据库里有缩略图的路径,但文件夹里面没有生成缩略图
慕哥6287543
守着一只汪
弑天下
随时随地看视频慕课网APP
相关分类