在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 代表加水印

新聞熱點
疑難解答