2012-02-09 90 views
2

我有一个表,其中每一行都有一个选项来上传CSV文件和一个按钮来生成报告。 所以每一行都有一个文件输入与同名“文件”和一个提交表单的按钮。该文件应该与该行中的其他值相对应地上传。但是当我试图上传文件在服务器端PHP无法检测到上传的文件。 当前正在工作的解决方法是为每一行创建一个不同的表单。但是没有办法通过一种表单完成它吗?在单个HTML页面上放置太多表单是否好?如何提交重复字段名称的表单数据?

回答

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

根据docs您可以通过在名称中添加[]来完成。

相关问题