这篇文章给大家介绍PHP中如何生成缩略图,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
PHP生成缩略图HTML代码
< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
< HTML>
< HEAD>
< TITLE> 上传图片 < /TITLE>
< META NAME="Generator" CONTENT="EditPlus">
< META NAME="Author" CONTENT="">
< META NAME="Keywords" CONTENT="">
< META NAME="Description" CONTENT="">
< meta http-equiv="Content-Type" content="text/html; charset=gbk" />
< /HEAD>
< BODY>
< FORM METHOD="POST" ACTION="tu.php?act=upload" enctype="multipart/form-data" >
< p>< INPUT TYPE="file" NAME="file"/>< /p>
< p>< INPUT TYPE="submit" value="hao"/> < INPUT TYPE="reset"/>< /p>
< /FORM>
< /BODY>
< /HTML>
PHP生成缩略图PHP代码
< ?php /*后台登陆界面 *黄春龙学习编写 *首写时间:2009-10-27 *更新时间:2009/11/24 */ require_once '../xmphp/init.php';//全站配置文件 require_once XMPHP_COMMON.'/smarty.php';//smarty功能 require_once XMPHP_COMMON.'/mysql.php';//mysql功能 require_once XMPHP_COMMON.'/func.php';//常用函数 if(isset($_GET['act'])&&$_GET['act']=='upload'){ $file=$_FILES['file']; $info=pathinfo($file['name']); $a=array('jpg','gif','png'); if(!in_array($info['extension'],$a)){ alert("请选择jpg,gif,png格式的图片进行上传"); exit; } if($file['name'] !=''){ $dirname=date('Ym'); $dirname='../upload/'.$dirname;//原图路径 $xin=$dirname.'/s';//PHP生成缩略图路径 if(!file_exists($xin)){ @mkdir($xin); } $image1=$info['filename'].'120_120'.'.'.$info['extension'];//缩略图名称 $image2=$info['filename'].'300_300'.'.'.$info['extension'];//缩略图名称 list($imagw,$imagh)=getimagesize($file['tmp_name']);//取得原图的宽高(另外$file['tmp_name']只是一个临时文件路径,有时可能会报错,如报错只需把临时文件路径改成你上传后的原图的路径即可) //120图判断各种情况来取得缩略图的宽高 if($imagw< =120&&$imagh< =120){ $m120w=$imagw; $m120h=$imagh; }elseif($imagw>$imagh) { $m120w=120; $m120h=intval($m120w/number_format($imagw/$imagh,2));//缩略图的宽除以(原图的宽除以原图的高)number_format查手册 } else { $m120h=300; $m120w=intval($m120h/number_format($imagh/$imagw,2));//缩略图的高除以(原图的高除以原图的宽)number_format查手册 } //300图判断各种情况来取得缩略图的宽高 if($imagw< =300&&$imagh< =300){ $m300w=$imagw; $m300h=$imagh; }elseif($imagw>$imagh){ $m300w=300; $m300h=intval($m300w/number_format($imagw/$imagh,2));//缩略图的宽除以(原图的宽除以原图的高)number_format查手册 }else{ $m300h=300; $m300w=intval($m300h/number_format($imagh/$imagw,2));//缩略图的高除以(原图的高除以原图的宽)number_format查手册 } if($info['extension']=='jpg'){ $info['extension']='jpeg';//判断图像类型如果是JPG的则把它转换成JPEG的因为图像处理函数在处理JPG的时候都是用的JPEG而不是JPG } $iml='imagecreatefrom'.$info['extension'];//取得不同图片格式的不同函数 $yuan=$iml($file['tmp_name']);//根据前面取的不同函数来取的原图的标识 $mu1=imagecreatetruecolor($m120w,$m120h);//取的要生成的缩略图的标识 $mu2=imagecreatetruecolor($m300w,$m300h);//取的要生成的缩略图的标识 $c='image'.$info['extension'];//生成输出缩略图的函数,不能分开写,否则报错 imagecopyresampled($mu1,$yuan,0,0,0,0,$m120w,$m120h,$imagw,$imagh);//生成缩略图120 $res=$c($mu1,$xin.'/'.$image1);//存放缩略图 if(!$res){ alert('生成120缩略图失败'); exit; } imagecopyresampled($mu2,$yuan,0,0,0,0,$m300w,$m300h,$imagw,$imagh);//PHP生成缩略图生成缩略图120 $res=$c($mu2,$xin.'/'.$image2);//存放缩略图 if($res){ alert('生成300缩略图成功'); exit; } } } $tpl->display("tu/tu.html"); ?>
关于PHP中如何生成缩略图就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。