帝国cms二次开发:后台上传图片的逻辑分析

2019-02-2715:05:19网站建设与开发Comments1,845 views字数 1468阅读模式

帝国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://文件大小,int
classid://
id://
cjid://采集id号
fpath://int类型
type://int类型,1上传图片,2上传flash,3上传多媒体,其他:上传附件,其中,3和其他,帝国cms并未实现,估计商业版的才会实现 。
modtype:// int  0信息,5公共,6会员,不传为其它
filename://字符串
no://文件别名,(真是一个奇葩的字段)
adduser://增加的用户
path://路径
pubid://
fstb://附件表
入库时会根据modtype的不同,进入不同的附件表
下面的具体的表名文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/9716.html

modtype表名
0 信息enewsfile_$fstb
5 公共enewsfile_public
6 会员enewsfile_member
其他enewsfile_other

如果 modtype为0,则需要使用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/9716.html

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。
然后就可以返回信息了。至此结束了。
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/cms/9716.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/cms/9716.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定