帝国cms教程

帝国cms后台上传图片功能二开解析

我的站长站 2023-02-07 人阅读

前台上传

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的不同,进入不同的附件表,下面的具体的表名

信息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。

然后就可以返回信息了。

相关推荐
  • 上传文件
  • nginx宝塔面板上传文件环境配置方法

    在使用nginx系统的宝塔面板开发上传或下载文件功能时,需要首先要配置下载nginx或PHP的参数。否则上传下载大文件时,总是报错,上传小一点的文件,就不报错。修改nginx配置打开nginx管理界面,看到“性能调整”,主要修改连接超时、最大上传文件大小,其他的也可...

    宝塔面板 92 1年前
  • DISCUZ升级后不显示“选择文件上传”按钮

    小编自己的discuz论坛由于不是最新版本,每次登陆论坛都会频繁的有升级提示,这次由于小编手贱了一下下,点击了升级flash player 14。最终导致小编的论坛中就再也看不到:选择文件上传“那个按钮了,图片添加到帖子内容中上方没有:选择文件上传”。这个解决方...

    discuz教程 396 7年前
  • 宝塔面板修改PHP文件上传大小
    宝塔面板修改PHP文件上传大小

    宝塔面板修改PHP文件上传大小很简单,直接打开宝塔面板WEB端进入软件商店选择已经安装且正在使用的PHP版本号点击设置->配置文件搜索post_max_size修改后面的值(自己需要多少就改成多少,切勿过大,防止...

    宝塔面板 426 4年前
最新更新