Codeigniter 3: inputerror: недопустимый тип файла, который вы пытаетесь загрузить. - PullRequest
0 голосов
/ 20 декабря 2018

просмотр:

<form action="#" enctype="multipart/form-data" id="form" class="form-horizontal">

   <div class="form-group">
                            <label class="control-label col-md-3" id="label-photo">Upload Photo </label>
                            <div class="col-md-9">
                                <input name="photo" type="file">
                                <span class="help-block"></span>
                            </div>
                        </div>

Контроллер:

private function _do_upload()
    {
      /*  $config['upload_path']          = $_SERVER['DOCUMENT_ROOT'] . '/uploads/';
      // */ 
      $config['upload_path']          = 'uploads/';
       // $config['allowed_types']        = 'gif|jpg|png|jpeg';
            $config['allowed_types']        = 'jpg|gif|png|jpeg|JPG|PNG';
        $config['max_size']             = 5000; //set max size allowed in Kilobyte
        $config['max_width']            = 3000; // set max width image allowed
        $config['max_height']           = 3000; // set max height allowed
        $config['file_name']            = round(microtime(true) * 1000); //just milisecond timestamp fot unique name

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

        if(!$this->upload->do_upload('photo')) //upload and validate
        {
            $data['inputerror'][] = 'photo';
            $data['error_string'][] = 'Upload error: '.$this->upload->display_errors('',''); //show ajax error
            $data['status'] = FALSE;
            echo json_encode($data);
            exit();
        }
        return $this->upload->data('file_name');
    }

Когда я пытаюсь загрузить изображение, получаю эту ошибку, и яне могу найти никакого решения.Пробовал путем изменения пути загрузки и разрешенных типов.

1 Ответ

0 голосов
/ 20 декабря 2018

Хорошо, попробуйте этот код. Вы можете успешно загрузить изображение.

Просмотреть файл: uoload.php

<form action="upload_controller" method="post" enctype="multipart/form-data">
  First name: <input type="file" name="photo"><br>
  <input type="submit" value="Submit">
</form>

Теперь это мой контроллер загрузки:

public function upload_controller(){
     if (count($_FILES) > 0) {
                if (count($_FILES['photo']) > 0) {
                    if ($_FILES['photo']['name'] != '' && $_FILES['photo']['size'] > 0) {
                        $filename = $_FILES['photo']['name'];
                        $filesize = $_FILES['photo']['size'];
                        $config['upload_path'] = '../admin_zency/data/doctors/'; // Your Upload Path Directory
                        $config['allowed_types'] = '*';
                        $config['max_size'] = $this->config->item('image_size');
                        $config['max_width'] = $this->config->item('user_width');
                        $config['max_height'] = $this->config->item('user_height');
                        $this->upload->initialize($config);
                        $this->load->library('upload', $config);
                        $this->upload->do_upload('photo');
                        $imagedata = $this->upload->data();
                        $imagearror = $this->upload->display_errors();
                    }
                }
            }
}

Спасибо и дайте оценку, если этот код будет вам полезен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...