Изображение не загружается в папку файлового менеджера. - PullRequest
0 голосов
/ 22 февраля 2019

Имя изображения сохраняется в базе данных, но изображение не сохраняется в файловом менеджере. Есть ли проблема с правами доступа в файловом менеджере cpanel или проблема с кодированием?

Контроллер

function addprofilepicture()
{
    $userID = $this->session->userdata("user_id");
    $data['user'] = $this->m_user->getRows($userID);
    $config['upload_path']          = './assets/Images/profilepictures';
    $config['allowed_types']        = 'gif|jpg|png|jpeg';

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

    if ( ! $this->upload->do_upload('userfile')){
        $error = array('error' => $this->upload->display_errors());

        $this->load->view('upload_form', $error);
    } else {
        $image = $_FILES['userfile']['name'];
        $this->m_user->update_pic($image);
    }
}

Модель

public function update_pic ($image){
    if($this->session->userdata("user_id"))//If already logged in
    {
        $userID = $this->session->userdata("user_id");
        $data['user'] = $this->m_user->getRows($userID);
        $data = array('profile_pic' => $image,);

        $this->db->where('user_id', $userID);
        return $this->db->update('users', $data);
    }
}

Вид

<?php echo form_open_multipart('user/addprofilepicture'); ?>   
<input type="file" name="userfile" size="20" required>
<input type="submit" class="btn btn-primary" value="Upload" />

<?php echo form_close(); ?>

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Вы можете использовать

function addprofilepicture()  {
   $userID = $this->session->userdata("user_id");
   $data['user'] = $this->m_user->getRows($userID);
   $config['upload_path'] = './assets/Images/profilepictures/';
   $config['allowed_types'] = 'gif|jpg|png';       
   $this->upload->initialize($config);
   $this->load->library('upload', $config);
   if ( ! $this->upload->do_upload('userfile')){
    $error = array('error' => $this->upload->display_errors());    
    $this->load->view('upload_form', $error);
    } else {
    $image = $_FILES['userfile']['name'];
    $this->m_user->update_pic($image);
       }
      }
0 голосов
/ 22 февраля 2019

Лучше использовать полный путь, то есть если ваши активы находятся в корневом каталоге (где находится главный index.php)

./ обозначает текущий каталог, в который выполняется загрузка

$config['upload_path']          = FCPATH.'assets/Images/profilepictures';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...