這篇教程給大家介紹帝國(guó)cms后臺(tái)上傳圖片功能二開,詳細(xì)解析帝國(guó)cms后臺(tái)上傳圖片功能的二開教程。
前臺(tái)上傳
1、上傳的文件名字為file,即后臺(tái)可以通過(guò)$_FILES['file']來(lái)獲取文件內(nèi)容
2、帝國(guó)cms默認(rèn)采用的是form提交的方式來(lái)上傳文件。
3、上傳的文件域字段為:tmp_name,name,type,size,都可以通過(guò)$_FILES['file'][$varname]來(lái)訪問
4、同時(shí)提交字段為:tranurl,no,classid,type,其中tranurl為遠(yuǎn)程文件的地址 ,即需要保存遠(yuǎn)程文件的時(shí)候調(diào)用需要將這個(gè)寫上
5、然后調(diào)用e/admin/ecmseditor/ecmseditor.php里面的TranFile來(lái)上傳數(shù)據(jù)的功能。
后臺(tái)入庫(kù)
tranfrom://1來(lái)自編輯器上傳 filetime://time(),當(dāng)前時(shí)間 filesize://文件大小,int classid:// id:// cjid://采集id號(hào) fpath://int類型 type://int類型,1上傳圖片,2上傳flash,3上傳多媒體,其他:上傳附件,其中,3和其他,帝國(guó)cms并未實(shí)現(xiàn),估計(jì)商業(yè)版的才會(huì)實(shí)現(xiàn) 。 modtype:// int 0信息,5公共,6會(huì)員,不傳為其它 filename://字符串 no://文件別名,(真是一個(gè)奇葩的字段) adduser://增加的用戶 path://路徑 pubid:// fstb://附件表
入庫(kù)時(shí)會(huì)根據(jù)modtype的不同,進(jìn)入不同的附件表,下面的具體的表名
信息enewsfile_$fstb5 公共enewsfile_public6 會(huì)員enewsfile_member 其他enewsfile_other
modtype表名0,如果 modtype為0,則需要使用GetInfoTranFstb($classid,$infoid,0);這個(gè)方法,來(lái)調(diào)用得到fstb這個(gè)分表id號(hào)。
$filetype=GetFiletype($file_name)//得到文件后輟名。
CheckSaveTranFiletype($filetype)//得到是否是允許的
文件上傳
根據(jù)classid以及id得到文件的存放路徑,然后就可以直接用move_uploaded_file所文件放到那個(gè)地方了。
得到文件擴(kuò)展名GetFiletype($_FILES['file']['name'])//返回$r[filetype] 擴(kuò)展名,如.jpg
得到插入的文件名ReturnDoTranFilename($_FILES['file']['name'],$classid)//返回$r[insertfile]//得到文件名稱,如sdlfkjsldfjsldfjoiwelwj2938223l2
組合成文件名$r[insertfile].$r[filetype]//得到文件名返回$r[filename]
入庫(kù)后,再進(jìn)行是否獲得縮略圖getsmall和添加水印getmark,操作;
如果需要添加水印和獲取縮略圖,會(huì)先后調(diào)用GetMySmallImg和GetMyMarkImg函數(shù)進(jìn)行操作。詳情參見/e/admin/ecmseditor/editorfun.php。
然后就可以返回信息了。