在e/class/userfun.php這個自定義函數(shù)文件中添加一個函數(shù)
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);//系統(tǒng)關(guān)閉上傳圖片功能 } if(!strstr($pr['qaddtranimgtype'],"|".$filetype."|")) { printerror("NotQTranFiletype","",1);//您上傳的文件擴展名有誤 } if($_FILES[$filetf]['size']>$pr['qaddtransize']*1024) { printerror("TooBigQTranFile","",1);//您上傳的文件大小超過系統(tǒng)限制 } 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']) { //獲取參數(shù) $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'];//大圖完整地址 //加水印 /* * 功能:圖片加水印 (水印支持圖片或文字) * 參數(shù): * $groundImage 背景圖片,即需要加水印的圖片,暫只支持GIF,JPG,PNG格式; * $waterPos 水印位置,有10種狀態(tài),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 最好不要同時使用,選其中之一即可,優(yōu)先使用 $waterImage。 * 當$waterImage有效時,參數(shù)$waterString、$stringFont、$stringColor均不生效。 * 加水印后的圖片的文件名和 $groundImage 一樣。 * $w_pct $w_quality 分別是圖片質(zhì)量,水印透明度 */ if($suiyi=="yes" and $datu=="yes"){ imageWaterMark($tfr[yname],5,"../data/mark/maskdef.gif","",5,"#FF0000","../data/mark/cour.ttf",100,100);//執(zhí)行加水印 } $name=$tfr['name'];//縮圖完整地址 //生成縮圖 $filer=ResizeImage($yname,$name,$maxwidth,$maxheight,$public_r['spickill']); if($datu=="no"){ DelFiletext($yname);//刪除大圖 } if($filer['file']) { //寫入數(shù)據(jù)庫 $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中添加處理函數(shù),如圖所示:
具體字段處理函數(shù)添加說明如下:user_TranImgAuto##160,120,yes,yes
160 寬度
120 高度
no 代表刪除大圖保留縮圖,同時下面第4個參數(shù)無效 yes 代表保留大圖和小圖
no 代表不加水印 yes 代表加水印
版權(quán)聲明: 本站資源均來自互聯(lián)網(wǎng)或會員發(fā)布,如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除!謝謝!
轉(zhuǎn)載請注明: 帝國cms前臺投稿標題圖片字段上傳圖片自動加上水印的方法