do_upload() returns FALSE 总是 codeigniter

do_upload() returns FALSE always codeigniter

每当我尝试上传图片时,它 returns 都是错误的。 我已经加载了所有助手和库,因为它在其他 class 中工作正常,但相同的代码副本在其他控制器 class.

中不起作用

这是表格

  <?php          
            echo form_label('Upload file(s)','images[]');
            echo form_error('images[]'); 
            echo form_upload('images[]','','class="form-control" multiple');
     ?>

这是控制器中的代码class

if(!empty($this->input->post('images'))){
 $config = array(
                'upload_path' => './media/', 
                'file_name' => $title, //creating file name from post title
                'allowed_types' => 'jpg|gif|png',
                'max_size' => '2048',
                'remove_spaces' => TRUE,
                'encrypt_name' => TRUE,
                'overwrite' => TRUE,
                'multi' => 'all'
            );

            $this->load->library('upload', $config); //loading correctly 

            if (!$this->upload->do_upload('images')) // returns false
            {var_dump($this->upload->do_upload('images'));
            var_dump($this->upload->display_errors()); //return empty string
            exit;
                $this->data['upload_errors'] = $this->upload->display_errors();
          }

少了什么?为什么它显示上传错误为空字符串? 我想看看这个相关问题 here,但没有帮助。

您在控制器中收到文件,但在 $this->input->post('images') 中是数组。您需要像处理数组一样处理它:$files = $this->input->post('images');。您也可以使用 foreach 来执行 $files

的操作