do_upload()总是返回FALSE codeigniter

时间:2018-01-25 08:06:44

标签: php codeigniter image-uploading

每当我尝试上传图片时,都会返回false。 我已经加载了所有帮助器和库,因为它在其他类中工作正常,但是相同的代码副本在其他控制器类中不起作用。

这是表格

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

这是Controller类

中的代码
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,但没有帮助。

1 个答案:

答案 0 :(得分:2)

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

执行操作