dongluan6784 2018-12-13 11:35
浏览 50
已采纳

PHP Codeigniter Do Upload功能不起作用

i want to use do_upload function codeigniter and i have tried to solving this code with any tutorial. Please help me to solve this problem.

in controller:

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');
            }
}

and this is my views code:

        <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>

When i try to upload, other else condition will be run:

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

i need do_upload condition will be run. Please comment to help. Thankyou..

  • 写回答

2条回答 默认 最新

  • douzhonglong3789 2018-12-13 12:21
    关注

    Two possibilities come to mind...

    Either your /assets/images/directory is not accesible (wrong path and/or not writable by codeigniter), in which case you should double check the path and/or try changing permissions of the directory to 777 and, if everything starts working, work your way down to a more reasonable permission level.

    Or, this is another case (i've read many, but so far I still thought it was just a hoax) that CI's upload library doesn't seem to like it if you use anything other than userfile as the field name being uploaded. Try changing all references of filefoto to userfile in both the view and the controller and see if it magically starts to work :)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?