帝国cms上传图片不显示(帝国cms多图上传插件)
在自定义函数文件e/class/userfun.php中添加函数
functionuser_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('selectqaddtran,qaddtransize,qaddtranimgtypefrom{$dbtbpre}enewspubliclimit1');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];//判断是否添加watermark include_once(ECMS_PATH.'e /class/gd.php');$yname=$tfr['yname'];//大图完整地址//添加水印/**功能:为图片添加水印(水印支持image or text)*参数:*$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(红色); **注意:SupportGD2.0、SupportFreeType、GIFRead、GIFCreate、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-dH:i:s');$filesize=@filesize($filer [ '文件']);$filename=GetFilename(str_replace(ECMS_PATH,'',$filer['文件']));$adduser='[成员]'.$musername;$infoid=$isadd==1? 0:$id;//$empire-query('insertinto{$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('insertinto{$dbtbpre} enewsfile (文件名,文件大小,adduser,路径,文件时间,classid,否,类型,id,cjid,fpath)值('$ tfr [文件名]','$ filesize','$ adduser','$ tfr [文件路径]' ,'$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表示删除大图,保留缩略图,下面第四个参数无效。 yes 表示保留大图和小图。
no表示不添加水印yes表示添加水印