使用 Codeigniter 3 上传多个文件

Multiple file upload with Codeigniter 3

我正在尝试上传多张图片。

我的表格是这样的:

<form>
  <input type="file" name="images[]">
  <input type="file" name="images[]">
  <input type="file" name="images[]">
</form>

我知道这个表格是对的。当 Codeigniter 尝试上传文件时出现错误。

function do_upload_images() {
    $files = $_FILES;

    $cpt = count ( $_FILES ['images'] ['name'] );
    for($i = 0; $i < $cpt; $i ++) {

        $_FILES ['images'] ['name'] = $files ['images'] ['name'] [$i];
        $_FILES ['images'] ['type'] = $files ['images'] ['type'] [$i];
        $_FILES ['images'] ['tmp_name'] = $files ['images'] ['tmp_name'] [$i];
        $_FILES ['images'] ['error'] = $files ['images'] ['error'] [$i];
        $_FILES ['images'] ['size'] = $files ['images'] ['size'] [$i];

        $this->upload->initialize ( $this->set_upload_options () );
        $this->upload->do_upload ($_FILES['images']);
    }
}
private function set_upload_options() {
    // upload an image options
    $config = array ();
    $config ['upload_path'] = './uploads/estate_images';
    $config ['allowed_types'] = 'gif|jpg|png';
    $config ['encrypt_name'] = TRUE;

    return $config;
}

这是我得到的错误:

Message: Illegal offset type in isset or empty Filename: libraries/Upload.php Line Number: 377

我自己解决了。只需要更改以下行:

$this->upload->do_upload ($_FILES['images']);

$this->upload->do_upload ('images');