打開uploadsafe.inc.php文件,找到foreach($_FILES as $_key=>$_value)這句,這句前面是設置強制哪些文件類型可以上傳,并設置了一個數組$keyarr = array('name', 'type', 'tmp_name', 'size');數組$keyarr值正是$_FILES的鍵,這是為后面進行數組遍歷作準備。還對是不是通過編輯器上傳作了判斷。
在foreach($_FILES as $_key=>$_value)后面是重點了,通過foreach($_FILES as $_key=>$_value)我們可以得到$_key,這個$_key正是我們表單里面的類型為file的name屬性值,這一點非常重要。這句foreach($_FILES as $_key=>$_value)代碼就是為了得到這個$_key。為了進一步說明這個$_key我們把$_FILES數組存儲的內容分析一下,這里以單個文件上傳為例子,多個文件一樣。$_FILES存儲的內容如下。
這句代碼foreach($_FILES as $_key=>$_value),正是為了獲得這個$_key就是$_FILES里面的upmyfile。接下來我們就要得到name,type,tmp_name,error,size了,我們完全可以再遍歷一下$_value,因為$_value又是一個數組,包括這些內容,但是大家想一下,這只是單文件上傳,如果是一個多文件上傳,是不是比較重雜?是的,織夢想到了一好辦法就是先定義一個$Keyarr數組,直接從這個數組里面獲取name,type,tmp_name,error,size,既簡單,又方快速。
代碼foreach($keyarr as $k)這句正是為了獲取name,type,tmp_name,error,size內容。