use*_*521 2 cakephp cakephp-2.1
我有以下表格:
<form enctype="multipart/form-data" method="post" accept-charset="utf-8">
<input type="file" name="data[MyModel][myfiles]" multiple="multiple">
</form>
Run Code Online (Sandbox Code Playgroud)
当我选择多个文件并提交时$this->request->data['MyModel']['myfiles']只包含最后选择的文件而不是多个... $_FILES还包含最后选择的文件...
我做错了什么?
IE不支持多文件上传,也不支持safari
用这个:
echo $form->input('files. ', array(
'label' => 'Files:',
'type' => 'file',
'multiple' => 'multiple',
));
Run Code Online (Sandbox Code Playgroud)
这是因为文件输入需要具有适当的名称属性.这是示例^
<input type="file" name="data[Album][images][]"/>
Run Code Online (Sandbox Code Playgroud)
请注意,它的末尾有一个空括号 - 这是您需要在文件输入中添加的内容.在提交表单后,您的数据将具有以下结构:
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
)
)
)
)
Run Code Online (Sandbox Code Playgroud)
请注意,我们在名称属性中放置的空括号现在填充了文件的索引.