虎泰克博客

ThinkPHP实现修改URL地址得到任意尺寸的缩略图(小于原图最小宽高)


今天在外面的时候小伙伴给我提了个要求就是图片可以像http://static2.8dol.com/c

今天在外面的时候小伙伴给我提了个要求就是图片可以像http://static2.8dol.com/cloudstore/goods/20151028_31033.jpg@!img-100这样修改URL就能看到不同尺寸的缩略图,回家路上仔细思考了下,思路是图片请求指向PHP->图片地址用I函数提取出来->像素大小也用I函数来提取出来->裁剪原图得到正方形图片->得到对应尺寸的缩略图->存储缩略图->输出->浏览器。 用的是Thinkphp的Image库

虎jjxk泰kqmp克qe新puno闻vyatp网qc版权所有,请勿未授权转载!!!

public function uploads(){ 

虎ts泰_克pzltl新hcbi闻decsd网gqcnt版权所有,请勿未授权转载!!!

 header("Content-type: image/jpeg");//设置HTTP头 

虎ufo泰lifxm克y新e闻yzukf网mv版权所有,请勿未授权转载!!!

 $pix=I('path.4');//得到像素大小 

虎lrjr泰kmkgr克m新yuzs闻vj网kwiim版权所有,请勿未授权转载!!!

 $url = './upload/'.I('path.1').'/'.I('path.2').'/'.I('path.3');//原图片地址 

虎ygn泰cpv克f新wa闻qag网xlcc版权所有,请勿未授权转载!!!

 $image = new \Think\Image();//引入库文件 

虎o泰fb克lo新kmbpx闻p网jks版权所有,请勿未授权转载!!!

 $image->open($url);//打开原图片 

虎p_泰pmisu克ao新vp_h闻oztpm网eyjjy版权所有,请勿未授权转载!!!

 $type = $image->type();//图片类型 

虎b泰ily克pen新rsf闻gqlqg网bapir版权所有,请勿未授权转载!!!

 $width = $image->width();//图片宽度 

虎zvt泰e_克dqsdg新jrads闻xkt网wud版权所有,请勿未授权转载!!!

 $height = $image->height();//图片高度 

虎q泰hdh克m新znw闻rtva网bsd版权所有,请勿未授权转载!!!

 $thumburl='./upload/thumb/'.md5(time().rand()).'.'.$type;//缩略图存储路径 

虎b泰v克xky新xe闻fhhc网iq版权所有,请勿未授权转载!!!

if($width>=$height) $image->thumb($height,$height,\Think\Image::IMAGE_THUMB_CENTER)->thumb($pix,$pix)->save($thumburl);//比较宽高哪个大,宽更大的话按高度*高度像素裁剪正方形之后生成$pix*$pix像素大小缩略图 

虎oqic泰ft克v新buh闻cqu网aywvb版权所有,请勿未授权转载!!!

else $image->thumb($width,$width,\Think\Image::IMAGE_THUMB_CENTER)->thumb($pix,$pix)->save($thumburl);//高更大的话按宽度*宽度像素裁剪正方形之后生成$pix*$pix像素大小缩略图 

虎c泰wbqj克lwh新mlf闻a网u版权所有,请勿未授权转载!!!

 echo file_get_contents($thumburl);//在浏览器中输出缩略图 

虎gv泰v克wru新b闻clmp网dl版权所有,请勿未授权转载!!!

 exit(); 

虎fgvs泰vxeak克peg新x_eej闻vrsbq网kice版权所有,请勿未授权转载!!!

}

虎febb泰cegfx克pqy新zfuiz闻ximh网hesr版权所有,请勿未授权转载!!!

效果如下:http://taji.whutech.com/DongTai/uploads/2016-02/16/pic.jpg/186



Lausunto: kaikki tällä sivustolla olevat artikkelit / piirrokset on tarkoitus välittää enemmän tietoa ja helpottaa keskustelua, mikä ei tarkoita sitä, että sivusto, isäntä ja järjestäjä ovat samaa mieltä heidän mielipiteistään tai vahvistaa niiden sisällön aitoutta. Artikkelien sisältö on tarkoitettu ainoastaan viitteeksi. Jos alkuperäisen tekijän oikeuksia rikotaan, ota yhteyttä verkkosivuston ylläpitäjään.

Allekirjoitus ja kommentti

Kommenttien luettelo

    Ei tietoja