具有多个字段时$ _FILES数组的奇怪格式 [英] Weird format of $_FILES array when having multiple fields
本文介绍了具有多个字段时$ _FILES数组的奇怪格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
< input type =filename =images []/>
< input type =filename =images []/>
< input type =filename =images []/>
< input type =filename =images []/>
我希望我会这样做:
$ b $数组
(
[images] =>数组
(
[0] =>数组
(
[name] => test.jpg
[type] => image / jpeg
[tmp_name] => / tmp / nsl54Gs
[error] => ;
[size] => 1715
)
[1] =>数组
(
[name] => test。 jpg
[type] => image / jpeg
[tmp_name] => / tmp / nsl54Gs
[error] => 0
[size] => 1715
$ b [2] =>数组
(
[name] => test.jpg
[type] => image / jpeg
[tmp_name] => / tmp / nsl54Gs
[error] => 0
[size] => 1715
)
[3] =>数组
(
[name] => test.jpg
[type] => image / jpeg
[tmp_name] => / tmp / nsl54Gs
[错误] => 0
[size] => 1715
)
)
)
但是我得到这样的东西:
Array
($数组
(
[name] =>数组
(
[0] => test.jpg
[1] ] => test.jpg
[2] => test.jpg
[3] => test.jpg
)
[type] = >数组
(
[0] => image / jpeg
[1] => image / jpeg
[2] => image / jpeg
[3] => image / jpeg
)
[tmp_name] =>数组
(
[0] => / tmp / nsl54Gs
[1] => /tmp/nsl54Gs
[2] => /tmp/nsl54Gs
[3] => / tmp / nsl54Gs
)
[error] =>数组
(
[0] => 0
[1] => 0
[2] => 0
[3] => 0
)
[size] =>数组
(
[0] => 1715
[1] => 1715
[2] => 1715
[3] => 1715
)
)
)
<如何获得我想要的形式的数组?
解决方案
这是完全正常的格式,它总是像那。如果你想要一个不同的结构,你可以在你的应用程序中进行转换,如下所示:
<?php
$ another_format = array();
($ i = 0; $ i< count($ _ FILES ['images'] ['name']); $ i ++){
$ another_format [$ i] = array(
'name'=> $ _FILES ['images'] ['name'] [$ i],
'type'=> $ _FILES ['images'] ['type'] [$ i] ,
'tmp_name'=> $ _FILES ['images'] ['tmp_name'] [$ i],
'error'=> $ _FILES ['images'] ['error'] [$ i],
'size'=> $ _FILES ['images'] ['size'] [$ i]
);
}
?>
祝您好运!
I have a form that has some fields like this:
<input type="file" name="images[]" />
<input type="file" name="images[]" />
<input type="file" name="images[]" />
<input type="file" name="images[]" />
I would expect i would do something like this:
Array
(
[images] => Array
(
[0] => Array
(
[name] => test.jpg
[type] => image/jpeg
[tmp_name] => /tmp/nsl54Gs
[error] => 0
[size] => 1715
)
[1] => Array
(
[name] => test.jpg
[type] => image/jpeg
[tmp_name] => /tmp/nsl54Gs
[error] => 0
[size] => 1715
)
[2] => Array
(
[name] => test.jpg
[type] => image/jpeg
[tmp_name] => /tmp/nsl54Gs
[error] => 0
[size] => 1715
)
[3] => Array
(
[name] => test.jpg
[type] => image/jpeg
[tmp_name] => /tmp/nsl54Gs
[error] => 0
[size] => 1715
)
)
)
But i get something like this:
Array
(
[images] => Array
(
[name] => Array
(
[0] => test.jpg
[1] => test.jpg
[2] => test.jpg
[3] => test.jpg
)
[type] => Array
(
[0] => image/jpeg
[1] => image/jpeg
[2] => image/jpeg
[3] => image/jpeg
)
[tmp_name] => Array
(
[0] => /tmp/nsl54Gs
[1] => /tmp/nsl54Gs
[2] => /tmp/nsl54Gs
[3] => /tmp/nsl54Gs
)
[error] => Array
(
[0] => 0
[1] => 0
[2] => 0
[3] => 0
)
[size] => Array
(
[0] => 1715
[1] => 1715
[2] => 1715
[3] => 1715
)
)
)
How do I get the array in the form I expect?
解决方案
This is completely normal format, it always has been like that. If you want a different structure, you can transform it in your application, like this:
<?php
$another_format = array();
for ($i=0; $i<count($_FILES['images']['name']); $i++){
$another_format[$i] = array(
'name' => $_FILES['images']['name'][$i],
'type' => $_FILES['images']['type'][$i],
'tmp_name' => $_FILES['images']['tmp_name'][$i],
'error' => $_FILES['images']['error'][$i],
'size' => $_FILES['images']['size'][$i]
);
}
?>
Good luck!
这篇关于具有多个字段时$ _FILES数组的奇怪格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文