每当我尝试上传图片时,都会返回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,但没有帮助。
答案 0 :(得分:2)
您收到了控制器中的文件,但在$this->input->post('images')
中是数组。您需要使用它与数组一样:$files = $this->input->post('images');
。您也可以使用foreach
对$files