帝国cms后台图片上传功能二次开发解析
帝国cms后台上传图片功能二开解析是指在原有的帝国cms后台上传图片功能的基础上进行二次开发,以满足特定的需求。这种二次开发通常需要具备一定的编程能力和对帝国cms系统的理解。在二次开发过程中,可以对上传图片的功能进行优化,例如增加图片压缩、裁剪、水印等功能,也可以增加对图片的管理功能,例如批量删除、分类管理等。此外,还可以根据实际需求对上传图片的权限进行控制,例如限制某些用户只能上传特定类型的图片。总之,帝国cms后台上传图片功能二开解析是一种灵活且实用的解决方案,可以帮助用户更好地利用帝国cms系统。
前台上传
1、上传的文件名字为file,即后台可以通过$_FILES['file']来获取文件内容
2、帝国cms默认采用的是form提交的方式来上传文件。
3、上传的文件域字段为:tmp_name,name,type,size,都可以通过$_FILES['file'][$varname]来访问
4、同时提交字段为:tranurl,no,classid,type,其中tranurl为远程文件的地址 ,即需要保存远程文件的时候调用需要将这个写上
5、然后调用e/admin/ecmseditor/ecmseditor.php里面的TranFile来上传数据的功能。
后台入库
tranfrom://1来自编辑器上传filetime://time(),当前时间filesize://文件大小,intclassid://id://cjid://采集id号fpath://int类型type://int类型,1上传图片,2上传flash,3上传多媒体,其他:上传附件,其中,3和其他,帝国cms并未实现,估计商业版的才会实现。modtype://int0信息,5公共,6会员,不传为其它filename://字符串no://文件别名,(真是一个奇葩的字段)adduser://增加的用户path://路径pubid://fstb://附件表
入库时会根据modtype的不同,进入不同的附件表,下面的具体的表名
信息enewsfile_$fstb5公共enewsfile_public6会员enewsfile_member其他enewsfile_other
modtype表名0,如果 modtype为0,则需要使用GetInfoTranFstb($classid,$infoid,0);这个方法,来调用得到fstb这个分表id号。
$filetype=GetFiletype($file_name)//得到文件后辍名。
CheckSaveTranFiletype($filetype)//得到是否是允许的
文件上传
根据classid以及id得到文件的存放路径,然后就可以直接用move_uploaded_file所文件放到那个地方了。
得到文件扩展名GetFiletype($_FILES['file']['name'])//返回$r[filetype] 扩展名,如.jpg
得到插入的文件名ReturnDoTranFilename($_FILES['file']['name'],$classid)//返回$r[insertfile]//得到文件名称,如sdlfkjsldfjsldfjoiwelwj2938223l2
组合成文件名$r[insertfile].$r[filetype]//得到文件名返回$r[filename]
入库后,再进行是否获得缩略图getsmall和添加水印getmark,操作;
如果需要添加水印和获取缩略图,会先后调用GetMySmallImg和GetMyMarkImg函数进行操作。详情参见/e/admin/ecmseditor/editorfun.php。
然后就可以返回信息了。