Php 多文件上传问题

Php 多文件上传问题,php,Php,我是PHP新手,想知道如何实现以下结果 我有一个HTML表单可以上传多个文件(仅PDF),最多可以上传5个文件。 对于每个文件,它都有一个选择标签,用于选择不同的用户(从数据库中检索),另一个选择标签用于不同的月份。理想情况下,如果用户一个接一个地选择文件,而不跳过中间的任何文件,就不会太复杂了 <input type=file name=pdf[] /> <select name=user[]> <option value=a>user a</op

我是PHP新手,想知道如何实现以下结果

我有一个HTML表单可以上传多个文件(仅PDF),最多可以上传5个文件。 对于每个文件,它都有一个选择标签,用于选择不同的用户(从数据库中检索),另一个选择标签用于不同的月份。理想情况下,如果用户一个接一个地选择文件,而不跳过中间的任何文件,就不会太复杂了

<input type=file name=pdf[] />
<select name=user[]>
  <option value=a>user a</option>
  <option value=b>user b</option>
  <option value=c>user c</option>
</select>
<select name=month[]>
  <option value=jan> jan </option>
               .
               .
               . so on
</select>
当我单击
提交
时,这里的数据包含多个数组,一个来自
$\u POST
,另一个来自
$\u文件
,因此如何重新构造这些数组并将其组合到新数组中,并消除这些空数组

如:

File1.pdf --- UserA --- Jan
File2.pdf --- UserB --- Feb
Not choose ---
File4.pdf --- UserA --- Mar
Not choose ---
Array(
[0]=> Array(user=>userA, month=>Jan, filename=>File1.pdf, type=>application/pdf, size=>1234456)
[1]=> Array(user=>userB, month=>Feb, filename=>File2.pdf, type=>application/pdf, size=>1234456)
[2]=> Array(user=>userA, month=>Mar, filename=>File4.pdf, type=>application/pdf, size=>1234456)
)

提前谢谢

只需为字段指定更好的名称:

结果[0][user]
结果[0][month]
结果[0][pdf]

result[1][user]
result[1][month]
result[1][pdf]

然后只需将文件重新组合到结果中:

$results = $_POST['result'];
foreach ($results as $i => &$result) {
    if (isset($_FILES['result'][$i]['pdf']) && is_array($_FILES['result'][$i]['pdf'])) {
        $result = array_merge($result, $_FILES['result'][$i]['pdf']);
    }
}

嗨,谢谢你的及时回复。我改变为urs,但我对第二个论点有问题;t数组:(@jasper请参阅更新。您可能需要进一步自定义此数组以满足您的需要,但我希望您能理解。