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