這篇教程給大家介紹帝國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://文件大小,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。
然后就可以返回信息了。