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
的操作
每当我尝试上传图片时,它 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