Переместить изображение в другой путь по нажатой ссылке; Codeigniter - PullRequest
0 голосов
/ 22 января 2019

Идея состоит в том, чтобы переместить изображение, выбранное текущим пользователем, в другой путь, который также находится в базе данных. Вот контроллер:

public function makeProfile()  {             
         if (isset($_GET['makeProfile']));           
         $data['user_id']= $this->session->userdata['user_id'];                      
                 $fileName = ('uploads/'.$fileName);              
    if($this->images_model->makeProfile($data, $fileName)) {            
         echo "Success";             
                     $msg = 'File successfully moved to profile';
        redirect(site_url().'main/');             
         }else{         
         echo "Failure";

Модель:

Public function makeProfile ($data, $fileName) {
return $this->db->get_where('images', ['user_id' => $this->session->userdata('user_id')])->row();
move_uploaded_file('uploads/'.$fileName, 'uploads/profile/'.$fileName);
if($this->db->affected_rows() == '1') {
return TRUE;
}
return FALSE;
   }

ВИД:

<a class="profile" href="<?= base_url('main/makeProfile') ?>">Make Profile</a>

Я, наверное, все делаю неправильно, но надеюсь, что кто-то здесь может направить меня в правильном направлении. Заранее спасибо за любой вклад!

1 Ответ

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

Функция makeProfile в модели имеет проблему.Вы получаете запись, а затем возвращаете ее обратно.Приведенный ниже код не выполняет

Public function makeProfile ($data, $fileName) {
   $fileName= $this->db->get_where('images', ['user_id' => $this->session->userdata('user_id')])->row()->image;

    // Will copy foo/test.php to bar/test.php
   // overwritting it if necessary
   copy('uploads/'.$fileName, 'uploads/profile/'.$fileName));
   if($this->db->affected_rows() == '1') {
      return TRUE;
   }
   return FALSE;
}

Цитирование пары релевантных предложений со страницы руководства:

Делает копию исходного файла в dest.

Если целевой файл уже существует, он будет перезаписан.

...