如何提交具有重复字段名称的表单数据?

时间:2012-02-09 03:29:17

标签: php javascript html

我有一个表格,其中每行都有一个上传CSV文件的选项和一个生成报告的按钮。 因此,每一行都有一个同名文件输入“file”和一个提交表单的按钮。应该对应于行中的其他值上载此文件。但是当我试图在服务器端上传文件时,PHP无法检测到上传的文件。 当前正在使用的解决方法是为每一行创建一个不同的表单。但是没有办法通过一个表单完成它吗?在单个HTML页面上包含太多表单是否合适?

2 个答案:

答案 0 :(得分:5)

执行此操作的方法是使用[]将输入名称属性转换为数组:

<input type='text' name='input[]' />

然后在PHP中,将它们作为:

访问
// $_POST['input'] is an array...
foreach ($_POST['input'] as $input_value) {
}

对于文件输入,它们将在$_FILES中显示为数组:

<input type='file' name='infile[]' />

// $_FILES['infile'] is an array
foreach ($_FILES['infile'] as $f) {
  echo $f['tmpname'];
  echo $f['size']';
  // etc....
}

答案 1 :(得分:1)

根据docs,您可以在名称中添加[]