我们在运用PHP语言进行实际代码编写的时候,遇到一个新的需求,通常都会通过自己不断积累的经验来解决这以需求的实现。下面我们为了增加大家的编码经验,特地介绍了一下有关PHP生成缩略图的相关方法。#t#
创新互联是专业的鹤峰网站建设公司,鹤峰接单;提供成都网站建设、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行鹤峰网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
PHP生成缩略图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生成缩略图的相关实现方法。
文章题目:深入探讨PHP生成缩略图的实现方法
文章源于:http://www.shufengxianlan.com/qtweb/news46/48896.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联