文章cms采集(帝国cms后台上传图片是常用的功能,现在分解一下上传)

优采云 发布时间: 2022-02-13 17:02

  文章cms采集(帝国cms后台上传图片是常用的功能,现在分解一下上传)

  Empirecms后台上传图片是常用的功能。现在让我们分解上传的内容:

  

  1.上传的文件名为file,即后台可以通过$_FILES['file']获取文件内容

  2.Empirecms默认使用表单提交方式上传文件。

  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(),当前时间

  文件大小://文件大小,整数

  班级号://

  ID://

  cjid://采集*敏*感*词*号

  fpath://int 类型

  type://int类型,1上传图片,2上传flash,3上传多媒体,其他:上传附件,其中3等,Empirecms没有实现,估计商业版会实施的。

  modtype:// int 0 info, 5 public, 6 member, 不要作为其他传递

  文件名://字符串

  no://file 别名,(真的是一个奇怪的字段)

  adduser://添加用户

  路径://路径

  公开://

  fstb://附件表

  进入仓库时,会根据modtype进入不同的附件表。

  具体表名如下

  模组类型

  表名

  0 条信息

  enewsfile_$fstb

  5公开

  enewsfile_public

  6名成员

  新闻文件成员

  其他

  enewsfile_other

  如果 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)//return $r[insertfile]//获取文件名,如sdlfkjsldfjsldfjoiwelwj2938223l2

  组合成一个文件名 $r[insertfile].$r[filetype]//获取文件名并返回 $r[filename]

  ************************上传逻辑结束********************

  仓储

  入库后是否获取缩略图getsmall和加水印getmark,操作;

  如果需要添加水印和获取缩略图,会依次调用 GetMySmallImg 和 GetMyMarkImg 函数。有关详细信息,请参阅 /e/admin/ecmseditor/editorfun.php。

  然后可以返回信息。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线