帝国cms前台投稿标题图片字段上传图片自动加上水印的方法

在e/class/userfun.php这个自定义函数文件中添加一个函数

function user_TranImgAuto($mid,$f,$isadd,$isq,$value,$cs){
        global $empire,$dbtbpre,$public_r,$emod_r,$class_r,$tranpicturetype,$musername;
        //$filetf=$f.'imgf';//变量名
  $filetf=$f.'file';//变量名
        if(!$_FILES[$filetf]['name'])
        {
                return '';
        }
        $classid=(int)$_POST['classid'];//栏目ID
        $id=(int)$_POST['id'];//信息ID
        $filepass=(int)$_POST['filepass'];
        $filetype=GetFiletype($_FILES[$filetf]['name']);//文件类型
        $pr=$empire->fetch1("select qaddtran,qaddtransize,qaddtranimgtype from {$dbtbpre}enewspublic limit 1");
        if(!$pr['qaddtran'])
        {
                printerror("CloseQTranPic","",1);//系统关闭上传图片功能
        }
        if(!strstr($pr['qaddtranimgtype'],"|".$filetype."|"))
        {
                printerror("NotQTranFiletype","",1);//您上传的文件扩展名有误
        }
        if($_FILES[$filetf]['size']>$pr['qaddtransize']*1024)
        {
                printerror("TooBigQTranFile","",1);//您上传的文件大小超过系统限制
        }
        if(!strstr($tranpicturetype,','.$filetype.','))
        {
                printerror("NotQTranFiletype","",1);//您上传的文件扩展名有误
        }
        $tfr=DoTranFile($_FILES[$filetf]['tmp_name'],$_FILES[$filetf]['name'],$_FILES[$filetf]['type'],$_FILES[$filetf]['size'],$classid);
        if($tfr['tran'])
        {
                //获取参数
    $csr=explode(',',$cs);
                $maxwidth=$csr[0];
                $maxheight=$csr[1];
    $datu=$csr[2];//是否保留原图判断
    $suiyi=$csr[3];//是否加水印判断
     include_once(ECMS_PATH.'e/class/gd.php');
                $yname=$tfr['yname'];//大图完整地址
                //加水印
                /*
                * 功能:图片加水印 (水印支持图片或文字)
                * 参数:
                *      $groundImage    背景图片,即需要加水印的图片,暂只支持GIF,JPG,PNG格式;
                *      $waterPos        水印位置,有10种状态,0为随机位置;
                *                        1为顶端居左,2为顶端居中,3为顶端居右;
                *                        4为中部居左,5为中部居中,6为中部居右;
                *                        7为底端居左,8为底端居中,9为底端居右;
                *      $waterImage        图片水印,即作为水印的图片,暂只支持GIF,JPG,PNG格式;
                *      $waterText        文字水印,即把文字作为为水印,支持ASCII码,不支持中文;
                *      $textFont        文字大小,值为1、2、3、4或5,默认为5;
                *      $textColor        文字颜色,值为十六进制颜色值,默认为#FF0000(红色);
                *
                * 注意:Support GD 2.0,Support FreeType、GIF Read、GIF Create、JPG 、PNG
                *      $waterImage 和 $waterText 最好不要同时使用,选其中之一即可,优先使用 $waterImage。
                *      当$waterImage有效时,参数$waterString、$stringFont、$stringColor均不生效。
                *      加水印后的图片的文件名和 $groundImage 一样。
                *      $w_pct  $w_quality 分别是图片质量,水印透明度
                */            
                if($suiyi=="yes" and $datu=="yes"){
         imageWaterMark($tfr[yname],5,"../data/mark/maskdef.gif","",5,"#FF0000","../data/mark/cour.ttf",100,100);//执行加水印
    }
                $name=$tfr['name'];//缩图完整地址
                //生成缩图
                $filer=ResizeImage($yname,$name,$maxwidth,$maxheight,$public_r['spickill']);   
				
				 if($datu=="no"){
                     DelFiletext($yname);//删除大图
    }
	
	
                if($filer['file'])
                {
                        //写入数据库
                        $type=1;
                        $filetime=date("Y-m-d H:i:s");
                        $filesize=@filesize($filer['file']);
                        $filename=GetFilename(str_replace(ECMS_PATH,'',$filer['file']));
                        $adduser='[Member]'.$musername;
                        $infoid=$isadd==1?0:$id;
                        //$empire->query("insert into {$dbtbpre}enewsfile(filename,filesize,adduser,path,filetime,classid,no,type,id,cjid,fpath) values('$filename','$filesize','$adduser','$tfr[filepath]','$filetime','$classid','[s]".addslashes(RepPostStr($_POST[title]))."','$type','$infoid','$filepass','$public_r[fpath]');");插入附件缩图
      if($datu=="yes"){
      $empire->query("insert into {$dbtbpre}enewsfile(filename,filesize,adduser,path,filetime,classid,no,type,id,cjid,fpath) values('$tfr[filename]','$filesize','$adduser','$tfr[filepath]','$filetime','$classid','".addslashes(RepPostStr($_POST[title]))."','$type','$infoid','$filepass','$public_r[fpath]');");//插入附件原图
      }
                }
    //$value=str_replace($tfr['filename'],$filename,$tfr['url']);//返回缩图地址
    $value=$tfr['url'];//返回原图地址
        }
        else
        {
                $value='';
        }
        return $value;
}

在titlepic中添加处理函数,如图所示:

具体字段处理函数添加说明如下:user_TranImgAuto##160,120,yes,yes

160 宽度

120 高度

no 代表删除大图保留缩图,同时下面第4个参数无效 yes 代表保留大图和小图

no 代表不加水印 yes 代表加水印

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
9.本站默认解压密码为:www.sudo1.com
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。
我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

云资源网 » 帝国cms前台投稿标题图片字段上传图片自动加上水印的方法

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
提示下载完但解压或打开不了?
最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或 联络我们.。
你们有qq群吗怎么加入?
当然有的,如果你是帝国cms、易优cms、和pbootcms系统的爱好者你可以加入我们的QQ千人交流群https://www.sudo1.com/page-qun.html。
  • 会员数(个)
  • 12334资源数(个)
  •        
  • 资源(G)
  •        
  • 今日下载
  • 1406稳定运行(天)

提供最优质的资源集合

立即查看 了解详情