【发布时间】:2014-12-24 08:09:28
【问题描述】:
查看:
<div>
<input type='file' name="active_board_data[pictures][]">
<input type='text' name="active_board_data[name][]">
<input type='text' name="active_board_data[description][]">
</div>
<div>
<input type='file' name="active_board_data[pictures][]">
<input type='text' name="active_board_data[name][]">
<input type='text' name="active_board_data[description][]">
</div>
<div>
<input type='file' name="active_board_data[pictures][]">
<input type='text' name="active_board_data[name][]">
<input type='text' name="active_board_data[description][]">
</div>
提交后var_dump($_POST['active_board_data']);显示
array (size=3)
'name_description_input' =>
array (size=3)
0 => string '' (length=0)
1 => string '<p>sdfv</p>' (length=11)
2 => string '' (length=0)
'relevant_details_description_input' =>
array (size=3)
0 => string '<p>dsrvsd</p>' (length=13)
1 => string '' (length=0)
2 => string '<p>sdfvr</p>' (length=12)
'pictures' =>
array (size=1)
0 => string '' (length=0)
而var_dump($_FILES['active_board_data']); 显示
array (size=5)
'name' =>
array (size=1)
'pictures' =>
array (size=3)
0 => string 'active_trustees_26-Oct-2014__08_10_00__25408.jpg' (length=48)
1 => string 'active_trustees_26-Oct-2014__08_10_18__7037.jpg' (length=47)
2 => string 'active_trustees_26-Oct-2014__08_10_18__3779.jpg' (length=47)
'type' =>
array (size=1)
'pictures' =>
array (size=3)
0 => string 'image/jpeg' (length=10)
1 => string 'image/jpeg' (length=10)
2 => string 'image/jpeg' (length=10)
'tmp_name' =>
array (size=1)
'pictures' =>
array (size=3)
0 => string 'C:\wamp\tmp\php128F.tmp' (length=23)
1 => string 'C:\wamp\tmp\php12A0.tmp' (length=23)
2 => string 'C:\wamp\tmp\php12B0.tmp' (length=23)
'error' =>
array (size=1)
'pictures' =>
array (size=3)
0 => int 0
1 => int 0
2 => int 0
'size' =>
array (size=1)
'pictures' =>
array (size=3)
0 => int 49543
1 => int 52657
2 => int 29884
这是提交表单后在 php 中将文件和文本放在同一个数组上的正确方法吗?还是我必须更改标记? 注意:我正在动态创建 div。请帮助。在此先感谢。 这是要提交的表格的图片:
【问题讨论】:
-
是的,这是多个字段的正确输入。
-
但是因为我有文件和文本输入,我怎么能有发布的数据?
-
您是否在表单标签上设置了
enctype="multipart/form-data"(您没有显示该部分)?因为发布文件时需要这样做。此外,文件不应该出现在 $_POST 中,它会出现在 $_FILES 中,但是名称/结构将大致相同,其中第一个文件与第一个名称/描述相关......等等。跨度> -
请建议我如何在特定情况下在 php 中获取发布的数据。
$_POST[]只提供文字,$_FILES[]只提供图片。 @u_mulder。是的,我有enctype="multipart/form-data",否则我无法获得$_FILES[]结果。发布后我需要同一索引上的文件和文本。 @乔纳森库恩
标签: php arrays forms codeigniter multidimensional-array