PHP Codeigniter Do Функция загрузки не работает - PullRequest
0 голосов
/ 13 декабря 2018

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

в контроллере:

function simpan_berita(){
    $this->load->library('upload');
    $config['upload_path'] = './assets/images/';
    $config['allowed_types'] = 'gif|jpg|png|jpeg|bmp';
    $config['encrypt_name'] = TRUE;

            $this->upload->initialize($config);
            if(!empty($_FILES['filefoto']['name']))
            {
                if ($this->upload->do_upload('filefoto'))
                {
                    $gbr = $this->upload->data();
                    //Compress Image
                    $config['image_library']='gd2';
                    $config['source_image']='./assets/images/'.$gbr['file_name'];
                    $config['create_thumb']= FALSE;
                    $config['maintain_ratio']= FALSE;
                    $config['quality']= '60%';
                    $config['width']= 840;
                    $config['height']= 450;
                    $config['new_image']= './assets/images/'.$gbr['file_name'];
                    $this->load->library('image_lib', $config);
                    $this->image_lib->resize();

                    ...
                    echo $this->session->set_flashdata('msg','success');
                    redirect('user/berita');
                }else{
                    echo $this->session->set_flashdata('msg','warning');
                    redirect('user/berita');
                }

            }else{
                redirect('admin/berita');
            }
}

, и это мой код просмотра:

        <form action="<?php echo base_url().'user/berita/simpan_berita'?>" method="post" enctype="multipart/form-data">
          ...
          <div class="form-group">
            <label>Gambar</label>
            <input type="file" name="filefoto" style="width: 100%;" required>
          </div>
        </div>
      </div>
    </form>

Когда я пытаюсь загрузить, другоеусловие будет выполнено:

            else{
                echo $this->session->set_flashdata('msg','warning');
                redirect('user/berita');
            }

мне нужно, будет выполнено условие do_upload.Пожалуйста, прокомментируйте, чтобы помочь.Thankyou ..

Ответы [ 2 ]

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

Вы можете отобразить ошибки с помощью

echo $this->upload->display_errors();

или просто отметьте

$this->upload->error_msg;

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

На ум приходят две возможности ...

Либо ваша директория /assets/images/ недоступна (неправильный путь и / или недоступна для записи для codeigniter), в этом случае вам следует дважды проверить путь и / илипопробуйте изменить права доступа к каталогу на 777 и, если все начнет работать, перейдите к более разумному уровню разрешений.

Или это другой случай (я много читал, но до сих поря подумал, что это просто обман), что библиотека загрузки CI, похоже, не понравится, если вы используете в качестве имени поля что-либо, кроме userfile.Попробуйте изменить все ссылки с filefoto на userfile как в представлении, так и в контроллере, и посмотрите, как он волшебным образом начинает работать:)

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