在蛋糕中上传多个文件不起作用

时间:2013-03-15 10:10:19

标签: 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>

当我选择多个文件并提交$this->request->data['MyModel']['myfiles']时,只包含最后选择的文件而不是多个... $_FILES也包含上次选择的文件...

我做错了什么?

2 个答案:

答案 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
                            )
                    )
            )
    )

请注意,我们在名称属性中放置了一个空括号,现在填充了文件索引。