2012-03-23 42 views
0

我试图从一个输入一次上传多个文件笨 - 上传多个文件与一个输入

<input type="file" name="form-image[]" id="form-image" multiple="true" />

而本身没有CodeIgniter工作正常。在我尝试使用CodeIgniterrs文件助手做同样的事情时,我得到一个错误(is_uploaded_file() expects parameter 1 to be string, array given),这表明我做错了什么,或者CodeIgniter只是不支持多个文件?

我的错误代码至今:

//Iterate through each file uploaded 
for ($i = 0; isset($_FILES['form-image']['name'][$i]); $i++) { 

    //Fix the settings 
    $config['upload_path'] = "./static/vimmel/"; 
    $config['file_name'] = time() . rand(1,988); 
    $config['allowed_types'] = 'gif|jpg|png'; 
    $config['max_size'] = '1024'; 
    $config['max_width'] = '1024'; 
    $config['max_height'] = '768'; 
    $this->load->library('upload', $config); 

    //Do the upload 
    $this->upload->do_upload("form-image") 
} 

请注意,我做编辑了所有的错误处理和这样的。另请注意,我不使用is_uploaded_file()函数。

感谢所有的帮助和建议。谢谢。

+0

林不知道如果CI支持多文件上传,我会坚持你原来的做法是否行得通,真正的线索是在名为“帮手”。如果它对你没有帮助,只是不要使用它。 – Philip 2012-03-23 20:22:39

+0

在这里回答了它:http://stackoverflow.com/questions/9276756/codeigniter-multiple-file-upload/36943949#36943949 – 2016-04-29 17:09:42

回答

0

我使用的上传库的扩展,包括do_multiple_upload()函数接受文件的数组

https://github.com/nicdev/CodeIgniter-Multiple-File-Upload

它缺少了一些错误管理(例如,如果一个你文件没有允许的扩展名,整个上传失败),但您可以更改循环中的继续返回。

希望它可以帮助别人......