CodeIgniter多文件上传不起作用

Sac*_*wha 4 php upload codeigniter

我正在尝试在文件夹中上传多个文件,但它会显示错误"您没有选择要上传的文件".
遇到PHP错误

严重性:警告

消息:is_uploaded_file()期望参数1为字符串,给定数组

文件名:libraries/Upload.php

行号:412

回溯:

文件:C:\ wamp\www\mshaadi\application\controllers\Email.php行:55功能:do_upload

文件:C:\ wamp\www\mshaadi\index.php行:293功能:require_once

调节器

$conf['upload_path'] = './images';
    $conf['allowed_types'] = 'doc|docx|pdf|jpg|gif|jpeg|png';
    $conf['max_size'] = '9999000';
    $conf['max_width'] = '1024';
    $conf['max_height'] = '768';
    $conf['overwrite'] = TRUE;
    $this->load->library('upload');
    foreach ($_FILES as $fieldname => $fileObject){
            $this->upload->initialize($conf);
        if (!empty($fileObject['name'])){
            if (!$this->upload->do_upload($fieldname)){
                $error = $this->upload->display_errors();
                print_r($error);
            }else{
                 print_r("done");
            }
        }else {
            print_r("no");
        }
    }
Run Code Online (Sandbox Code Playgroud)

视图

<div class="form-group col-md-12">
        <label for="Attach"><strong>Add Attachment</strong><br></label>
        <input type="file" class="btn btn-default btn-file" name="atta[]" id="Attach" multiple="multiple"> 
</div>
Run Code Online (Sandbox Code Playgroud)

Nir*_*aju 7

试试这样,

function upload_files()
{       
    $config = array();
    $config['upload_path'] = './Images/';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size']      = '0';
    $config['overwrite']     = FALSE;

    $this->load->library('upload');

    $files = $_FILES;
    for($i=0; $i< count($_FILES['userfile']['name']); $i++)
    {           
        $_FILES['userfile']['name']= $files['userfile']['name'][$i];
        $_FILES['userfile']['type']= $files['userfile']['type'][$i];
        $_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i];
        $_FILES['userfile']['error']= $files['userfile']['error'][$i];
        $_FILES['userfile']['size']= $files['userfile']['size'][$i];    

        $this->upload->initialize($config);
        $this->upload->do_upload();
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 这个解决方案非常有效,但是只有将`​​count($ _ FILES ['userfile'] ['name'])`更改为`count($ files ['userfile'] ['name'])`和`$ this- > upload-> do_upload()`到`$ this-> upload-> do_upload('userfile')` (2认同)