打开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内容。