我有以下表格:
<form enctype="multipart/form-data" method="post" accept-charset="utf-8">
<input type="file" name="data[MyModel][myfiles]" multiple="multiple">
</form>
当我选择多个文件并提交$this->request->data['MyModel']['myfiles']
时,只包含最后选择的文件而不是多个... $_FILES
也包含上次选择的文件...
我做错了什么?
答案 0 :(得分:6)
IE不支持多文件上传,Safari也支持
使用此:
echo $form->input('files. ', array(
'label' => 'Files:',
'type' => 'file',
'multiple' => 'multiple',
));
答案 1 :(得分:5)
这是因为文件输入需要具有适当的name属性。这是示例^
<input type="file" name="data[Album][images][]"/>
请注意,它的末尾有一个空括号 - 这是您需要在文件输入中添加的内容。在提交表单后,您的数据将具有以下结构:
Array
(
[Album] => Array
(
[images] => Array
(
[0] => Array
(
[name] => goldenWS.jpg
[type] => image/jpeg
[tmp_name] => E:\xampp\tmp\php8EB5.tmp
[error] => 0
[size] => 1107065
)
[1] => Array
(
[name] => ground_floor__please_by_ether-d4c1ru7.jpg
[type] => image/jpeg
[tmp_name] => E:\xampp\tmp\php8EC6.tmp
[error] => 0
[size] => 1027305
)
)
)
)
请注意,我们在名称属性中放置了一个空括号,现在填充了文件索引。