上传php上传图片,生成略缩图,加水印工具类

上传工具  时间:2021-02-23  阅读:()

PHP上传图片生成略缩图加水印工具类var$annexF older=upload//附件存放点默认为 annexvar $smallFolder=small //缩略图存放路径注必须是放在$annexFolder下的子目录默认为 smallimgvar$markF older=mark//水印图片存放处var$upFileType=jpg gif png//上传的类型默认为 jpg gif png rar zipvar$upFileMax=1024;//上传大小限制单位是“KB”默认为 1024KBvar$fontTyp e;//字体v ar$m ax Width=500; //图片最大宽度var$maxHeight=600; //图片最大高度function UpImages($annexFolder,$smallFo lder,$includeFo lder) {

$this-annexF older=$annexF older;

$this- smallF o lder=$smallF o lder;

$this-fontType=$inc ludeFolder. /04B_08__.TTFfunc tion upLoad($inputName) {

$imageName=time();//设定当前时间为图片名称if(@empty($_F I LES[$inputName][name]))die(没有上传图片信息请确认

$name=explode( . ,$_FILES[$inputName][name ]);//将上传前的文件以“.”分开取得文件类型

$imgCount=c ount($name);//获得截取的数量

$imgTyp e=$name[$imgCount-1];//取得文件的类型if(s trp os($this- upF ileTyp e,$imgTyp e) === fals e) die(error(上传文件类型仅支持.$this-upFileType.不支持.$imgType));

$photo=$imageName. . .$imgType;//写入数据库的文件名

$uploadFile=$this-annexFolder. / .$photo;//上传后的文件名称

$upFileok=move_uploaded_file($_FILES[$inputName][ tmp_name],$uploadFile);if($upFileok) {

$imgSize=$_FILES[$inputName][ size

$kSize=round($imgSize/1024);if($kS ize($this-upF ile Max*1024)) {

@unlink($up lo adF il e);die(error(上传文件超过.$this-upF ileMax.KB));

} els e {die(error(上传图片失败请确认你的上传文件不超过$upFileMax KB或上传时间超时));r eturn$photo;function getInfo($photo) {

$photo=$this-annexF older. / .$photo;

$imageInfo=getimagesize($photo);

$imgInfo[w idth]=$imageInfo[0];

$imgInfo[height ]=$imageInfo[1];

$imgInfo[ typ e]=$imageInfo[2];

$imgInfo[name]=basename($photo);r eturn$imgI nfo;function smallImg($photo,$width=128,$height=128) {

$imgInfo=$this-getInfo($photo);

$photo=$this-annexF older. / .$photo;//获得图片源

$newName=s ub s tr($imgInfo[name],0,s trrpos($imgInfo[name], . ))._thumb.jpg//新图片名称if($im g I n fo[ typ e]==1) {

$img=imagecreatefromgif($photo);

} els eif($imgInfo[ type]==2) {

$img=imagecreatefromjpeg($photo);

} els eif($imgInfo[ type]==3) {

$img=imagecreatefrompng($photo);

} els e {

$img=if(empty($img)) return F als e;

$w idth=($w idth$imgI nfo[w idth]) ?$imgI nfo[w idth] :$w idth;

$height=($height$imgInfo[height ])?$imgInfo[height ] :$height;

$srcW=$imgInfo[width

$srcH=$imgInfo[heightif($src W*$w idth$s rc H* $height) {

$height=round($src H* $w idth/$src W);

} els e {

$w idth=round($src W* $height /$src H);if(func tion_exists( imagec reatetruec olor)) {

$newImg=imagec reatetruec olor($w idth, $height);

ImageCopyRes ampled($new Img, $img, 0, 0, 0, 0, $w idth, $height, $imgInfo[w idth ],$imgInfo[height ]);

} els e {

$newI mg=imag ec r eate($w idth,$height);

ImageCopyRes ized($new Img, $img, 0, 0, 0, 0, $w idth, $height, $imgInfo[ w idth ],$imgInfo[height ]);if($this- toF ile) {if (file_ex is ts($this- annexF older. / .$this- s mallF older. / .$newName))@unlink($this-annexFolder. / .$this- smallFo lder. / .$newName);

ImageJPEG($new Img,$this-annexFolder. / .$this- smallFold er. / .$newName);return$this-annexF older. / .$this- s mallF old er. / .$newName;

} els e {

ImageJPEG($newImg);

ImageDestroy($newImg);

ImageDestroy($img);r eturn$new Nam e;function waterMark($photo,$text) {

$imgInfo=$this-getInfo($photo);

$photo=$this-annexF older. / .$photo;

$newName=subs tr($imgInfo[name],0,s trrpos($imgInfo[name], . )) ._mark.jpgsw itch($imgInfo[ type]) {case 1:

$img=imagecreatefromgif($photo);break;case2:

$img=imagecreatefromjpeg($photo);break;case3:

$img=imagecreatefrompng($photo);break;default:r eturn F als e;if(empty($img))return F als e;

$w idth=($this-m axWidth$im g I n fo[w idth]) ?$im g I n fo[w idth] :$this-m axWidth;

$height=($this-maxHe ight$imgInfo[height ]) ?$img Info[height ] :$this-maxHe ight;

$srcW=$imgInfo[width

$srcH=$imgInfo[heightif($src W*$w idth$s rc H* $height) {

$height=round($src H* $w idth/$src W);

} els e {

$w idth=round($src W* $height /$src H);if(func tion_exists( imagecreatetruec olor)) {

$newImg=imagec reatetruec olor($w idth, $height);

ImageCopyRes ampled($new Img, $img, 0, 0, 0, 0, $w idth, $height, $imgInfo[w idth ],$imgInfo[height ]);

} els e {

$newI mg=imag ec r eate($w idth,$height);

ImageCopyRes ized($newImg, $img, 0, 0, 0, 0, $w idth, $height, $imgInfo[ w idth ],

$imgInfo[height ]);

$white=imageColorAllocate($newImg,255,255,255);

$black=imageColorAllocate($newImg,0,0,0);

$alpha=imageCo lorAlloc ateAlpha($newImg,230,230,230,40);

ImageF illedRec tangle($new Img,0, $height-26,$w idth, $height, $alpha);

ImageFilledRectangle($newImg, 13, $height-20, 15,$height-7, $black);

ImageT TF Text($new Img,4.9,0,20,$height-14, $blac k,$this-fontType, $text[0]);

ImageT TF Text($new Img,4.9,0,20,$height-6, $blac k,$this-fontType, $text[1]);if($this- toF ile) {if (file_ex is ts($this- annexF older. / .$this- markF older. / .$newName))@unlink($this-annexF older. / .$this-markF older. / .$newName);

ImageJPEG($new Img,$this-annexF older. / .$this-markF older. / .$newName);return$this-annexF o lder. / .$this-markF o lder. / .$new Name;

} els e {

ImageJPEG($newImg);

ImageDestroy($newImg);

ImageDestroy($img);r eturn$new Nam e;

3G流量免费高防CDN 50-200G防御

简介酷盾安全怎么样?酷盾安全,隶属于云南酷番云计算有限公司,主要提供高防CDN服务,高防服务器等,分为中国境内CDN,和境外CDN和二个产品,均支持SSL。目前CDN处于内测阶段,目前是免费的,套餐包0.01一个。3G流量(高防CDN)用完了继续续费或者购买升级包即可。有兴趣的可以看看,需要实名的。官方网站: :点击进入官网云南酷番云计算有限公司优惠方案流量3G,用完了不够再次购买或者升级套餐流量...

wordpress外贸集团企业主题 wordpress高级推广外贸主题

wordpress外贸集团企业主题,wordpress通用跨屏外贸企业响应式布局设计,内置更完善的外贸企业网站优化推广功能,完善的企业产品营销展示 + 高效后台自定义设置。wordpress高级推广外贸主题,采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器,根据用户行为以及设备环境(系统平台、屏幕尺寸、屏幕定向等)进行自适应显示; 完美实现一套主题程序支持全部终端设备,保证网站在各...

杭州王小玉网-美国CERA 2核8G内存19.9元/月,香港,日本E3/16G/20M CN2带宽150元/月,美国宿主机1500元,国内宿主机1200元

官方网站:点击访问王小玉网络官网活动方案:买美国云服务器就选MF.0220.CN 实力 强 强 强!!!杭州王小玉网络 旗下 魔方资源池 “我亏本你引流活动 ” mf.0220.CNCPU型号内存硬盘美国CERA机房 E5 2696v2 2核心8G30G总硬盘1个独立IP19.9元/月 续费同价mf.0220.CN 购买湖北100G防御 E5 2690v2 4核心4G...

上传工具为你推荐
根目录什么是手机根目录?里面包含那些文件 ?是否能删除?苏州商标注册苏州商标局在哪里最新qq空间代码QQ空间代码有哪些???最新qq空间代码qq空间都是有哪些免费代码!(要全部)网站联盟网盟跟b2b平台有什么区别唱吧电脑版官方下载电脑怎么安装唱吧,要能用的,请教教程,谢谢qq空间装扮qq空间怎么装扮iphone6上市时间苹果6什么时候出?多少钱小米手柄小米蓝牙游戏手柄怎么连接游戏分词技术什么是seo分词技术
免费云主机 注册国际域名 香港vps主机 动态域名解析软件 过期域名抢注 plesk 香港vps99idc godaddy主机 香港新世界电讯 服务器日志分析 tightvnc 论坛空间 七夕快乐英文 域名和空间 河南移动m值兑换 电信主机 四核服务器 支持外链的相册 服务器硬件防火墙 网通服务器 更多