Ошибка загрузки файла Codeigniter

#php #codeigniter

#php #codeigniter

Вопрос:

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

Это мой код для загрузки.

    $count = count($_FILES['upload_' . $increment]['size']);

   for ($s = 0; $s <= $count-1; $s  ) {
     $config['upload_path']   = './uploads/';
     $config['allowed_types'] = 'gif|jpg|png|jpeg';
     $config['max_size']      = '10000';
     $config['max_width']     = '2048';
     $config['max_height']    = '1152';

     $image = $config['file_name'] = $c_id . '-' . $s . '.jpg';

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

     $data = $this->upload->data();
     $data = array('c_id' => $c_id, 'image'=> $image);

     $this->db->insert('images', $data);
   }

   $increment  ;
  

Комментарии:

1. Возможно, это сработает $config['upload_path'] = './assets/uploads/';

2. у меня есть папка uploads в родительском каталоге

3. Хорошо, чем удалять точку из path

4. уже пробовал это.

5. Пожалуйста, найдите ошибки загрузки. $this-> upload->display_errors()

Ответ №1:

Попробуйте Удалить эту библиотеку Codeigniter и поместить этот файл в раздел application / libraries

Контроллер

 if ($_FILES) {
    $config['upload_path']   = './uploads/';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size']      = '200';
    $config['max_width']     = '1024';
    $config['max_height']    = '768';
    $this->load->library('upload');
    $this->upload->initialize($config);
    if (!$this->upload->do_multi_upload("file")) {
        $data['errors'] = ($this->upload->display_errors());
    } else {
        $images = ($this->upload->get_multi_upload_data());
        for ($i = 0; $i < count($images); $i  ) {
        $this->user_model->addUserImage($images[$i]);
        }
    }
  

Модель

 public function addUserImage($image)
{
  $image_data=array(
    'name'=>$image['file_name']
  );
   $this->db->insert('user_images',$image_data);
   return true;
}
  

Позвольте мне, если есть какой-либо запрос здесь

Ответ №2:

Используете ли вы действие html-формы для отправки данных?

Если да, пожалуйста, добавьте enctype="multipart/form-data" в свой тег формы как:

 <form action="your action url" method="post" enctype="multipart/form-data">