POST TIME:2021-05-21 23:23
結(jié)合dedecms會(huì)員中心的頭相上傳功能。來(lái)談?wù)刣edecms的MemberUploads函數(shù)。
首先我們看到include/helpers/upload.helper.php文件。
function MemberUploads($upname,$handname,$userid=0,$utype='image',$exname='',$maxwidth=0,$maxheight=0,$water=false,$isadmin=false)
首先我們介紹下以下參數(shù)
1:$upname這個(gè)是文件上傳的input type=file對(duì)應(yīng)的哪個(gè)名稱
2:$handname 這個(gè)是圖片所存儲(chǔ)的文件夾名稱
3:$userid 這個(gè)是默認(rèn)會(huì)員的ID
4:$utype這個(gè)是文件類型,指的是上傳的文件類型
5:$exname這個(gè)是文件上傳后的名稱。如果沒(méi)有指定的名稱,那么將通過(guò)隨即生成
6:$maxwidth和$maxheight兩個(gè)參數(shù)是指上傳后圖片尺寸
7:$water和 $isadmin,一個(gè)是否加水印,一個(gè)操作是否是管理員。
首先我們看if(!is_dir($cfg_basedir.$cfg_user_dir."/$userid"))
{
MkdirAll($cfg_basedir.$cfg_user_dir."/$userid", $cfg_dir_purview);
CloseFtp();
}
如果要上傳的文件所在的文件夾不存在。他會(huì)自動(dòng)的嘗試建立
最主要的就是生成的文件名的規(guī)則。
if($exname=='')
{
$filename = $cfg_user_dir."/$userid/".dd2char($nowtme.'-'.mt_rand(1000,9999)).'.'.$sname;
}
else
{
$filename = $cfg_user_dir."/{$userid}/{$exname}.".$sname;
}
這個(gè)是最終返回的文件名。至于傳文件的過(guò)程,我們不會(huì)多做講述,因?yàn)槟膫€(gè)是php的基本操作。
按照這種方法就可以解決織夢(mèng)游客投稿圖片字段無(wú)法上傳的問(wèn)題