晚上做多图上传的时候遇到一个问题,由于多图上传是3维数组格式。
而var_dump($arr=$_FILES);打印出来的是:
array(1) {
["file"]=>
array(5) {
["name"]=>
array(7) {
[0]=>
string(30) "鏆撮鎴浘20171267819893.jpg"
[1]=>
string(26) "鏂板缓鏂囨湰鏂囨。 (2).txt"
[2]=>
string(34) "浼氬憳娑堣垂姹囨€荤粺璁℃姤琛�.xls"
[3]=>
string(7) "log.txt"
[4]=>
string(14) "day02_ex-4.jpg"
[5]=>
string(7) "css.css"
[6]=>
string(14) "day02_ex-4.jpg"
}
["type"]=>
array(7) {
[0]=>
string(10) "image/jpeg"
[1]=>
string(10) "text/plain"
[2]=>
string(24) "application/vnd.ms-excel"
[3]=>
string(10) "text/plain"
[4]=>
string(10) "image/jpeg"
[5]=>
string(8) "text/css"
[6]=>
string(10) "image/jpeg"
}
["tmp_name"]=>
array(7) {
[0]=>
string(53) "C:\Users\Administrator\AppData\Local\Temp\phpE711.tmp"
[1]=>
string(53) "C:\Users\Administrator\AppData\Local\Temp\phpE712.tmp"
[2]=>
string(53) "C:\Users\Administrator\AppData\Local\Temp\phpE713.tmp"
[3]=>
string(53) "C:\Users\Administrator\AppData\Local\Temp\phpE714.tmp"
[4]=>
string(53) "C:\Users\Administrator\AppData\Local\Temp\phpE724.tmp"
[5]=>
string(53) "C:\Users\Administrator\AppData\Local\Temp\phpE735.tmp"
[6]=>
string(53) "C:\Users\Administrator\AppData\Local\Temp\phpE736.tmp"
}
["error"]=>
array(7) {
[0]=>
int(0)
[1]=>
int(0)
[2]=>
int(0)
[3]=>
int(0)
[4]=>
int(0)
[5]=>
int(0)
[6]=>
int(0)
}
["size"]=>
array(7) {
[0]=>
int(81670)
[1]=>
int(0)
[2]=>
int(7680)
[3]=>
int(209)
[4]=>
int(570112)
[5]=>
int(8663)
[6]=>
int(570112)
}
}
}
这不是我们需要的信息,我们需要这种:
array(7) {
[0]=>
array(5) {
["name"]=>
string(30) "暴风截图20171267819893.jpg"
["type"]=>
string(10) "image/jpeg"
["tmp_name"]=>
string(53) "C:\Users\Administrator\AppData\Local\Temp\php5648.tmp"
["error"]=>
int(0)
["size"]=>
int(81670)
}
[1]=>
array(5) {
["name"]=>
string(26) "新建文本文档 (2).txt"
["type"]=>
string(10) "text/plain"
["tmp_name"]=>
string(53) "C:\Users\Administrator\AppData\Local\Temp\php5658.tmp"
["error"]=>
int(0)
["size"]=>
int(0)
}
[2]=>
array(5) {
["name"]=>
string(34) "会员消费汇总统计报表.xls"
["type"]=>
string(24) "application/vnd.ms-excel"
["tmp_name"]=>
string(53) "C:\Users\Administrator\AppData\Local\Temp\php5659.tmp"
["error"]=>
int(0)
["size"]=>
int(7680)
}
[3]=>
array(5) {
["name"]=>
string(7) "log.txt"
["type"]=>
string(10) "text/plain"
["tmp_name"]=>
string(53) "C:\Users\Administrator\AppData\Local\Temp\php565A.tmp"
["error"]=>
int(0)
["size"]=>
int(209)
}
[4]=>
array(5) {
["name"]=>
string(14) "day02_ex-4.jpg"
["type"]=>
string(10) "image/jpeg"
["tmp_name"]=>
string(53) "C:\Users\Administrator\AppData\Local\Temp\php565B.tmp"
["error"]=>
int(0)
["size"]=>
int(570112)
}
[5]=>
array(5) {
["name"]=>
string(7) "css.css"
["type"]=>
string(8) "text/css"
["tmp_name"]=>
string(53) "C:\Users\Administrator\AppData\Local\Temp\php566C.tmp"
["error"]=>
int(0)
["size"]=>
int(8663)
}
[6]=>
array(5) {
["name"]=>
string(14) "day02_ex-4.jpg"
["type"]=>
string(10) "image/jpeg"
["tmp_name"]=>
string(53) "C:\Users\Administrator\AppData\Local\Temp\php566D.tmp"
["error"]=>
int(0)
["size"]=>
int(570112)
}
}
foreach($arr['file'] as $key=>$val){
foreach($val as $k=>$v){
$data[$k][$key]=$v;
}
}
var_dump($data);
这样的话,三维数组就可以安装我们想要的内容拼装好了。
扩展:我们需要做一个数组的拼装
foreach ($arr[file][name] as $key => $value) {
echo "文件名:".$value."类型是:".$arr[file][type][$key]."临时文件为:".$arr[file][tmp_name][$key]."文件大小为:".$arr[file][size][$key]."错误号为:".$arr[file][error][$key]."<br/>";
}