Как загрузить файлы умножения в codeigniter - PullRequest
0 голосов
/ 17 июня 2020

У меня есть форма с 4 полями файлов, и я хочу правильно загрузить эти файлы.

Мой код выглядит следующим образом:

public function do_upload(){
    $config['upload_path']          = './uploads/';
    $config['allowed_types']        = 'gif|jpg|png';
    $config['max_size']             = 100;
    $config['max_width']            = 1024;
    $config['max_height']           = 768;

    $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 {
        $data = array('upload_data' => $this->upload->data());

        $this->load->view('upload_success', $data);
    }
}

enter image description here

1 Ответ

0 голосов
/ 17 июня 2020
private function fileUpload($name, $config = []){
     $config['upload_path']          = './uploads/';
     $config['encrypt_name']         = TRUE;
     $config['file_ext_tolower']     = TRUE;
     $config['allowed_types']        = 'jpg|jpeg|png';
     $this->upload->initialize($config);
     if ( ! $this->upload->do_upload($name))
     {
         $error = array('error' => true, 'message' => $this->upload->display_errors());
         return $error;
     }
     else
     {
         return array('error' => false, 'upload_data' => $this->upload->data());
     }
}

Создайте эту частную функцию в контроллере, просто вызовите эту функцию, когда вам нужно загрузить файл с именем поля файла, если вы хотите, чтобы какая-то другая конфигурация, просто передайте массив конфигурации в качестве следующего параметра

$data = $this->fileUpload('site_logo_dark')
if($data['error']){
  echo data['message']; // error message while uplaoding an file if have any
}else{
  echo $data['upload_data']['file_name']; // return you a name of the file which you just upload it you can save it to the database 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...