Попробуйте, надеюсь, это поможет вам правильно настроить ваш.
if (isset($_FILES['profile_img']) && !empty($_FILES['profile_img']['name']))
{
$user_img_path = './public/uploads/images/users/';
$config['upload_path'] = $user_img_path;
$config['allowed_types'] = 'gif|jpg|png';
$config['overwrite'] = TRUE;
$config['encrypt_name'] = TRUE;
$config['file_name'] = $img_name;
$config['max_size'] = '9999';
$config['max_width'] = '1524';
$config['max_height'] = '868';
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('profile_img')){
$error = array('error' => $this->upload->display_errors());
print_r($error);
}
else{
$image = $this->upload->data();
print_r($image);
}
}
Я использую это в своем проекте
Так что для меня я использовал это и работает для меня
$user_img_path = './public/uploads/images/users/';
ИЛИ
$user_img_path = FCPATH'./public/uploads/images/users/';
ИЛИ Редактирование Вашего
$config['upload_path'] = FCPATH .'/contest/videos/';
Вместо
$user_img_path = FCPATH .'contest/videos/';
Такпопробуй. Если это работает для вас, дайте мне знать, что я здесь, чтобы помочь