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

报告相同问题?

悬赏问题

  • ¥15 聚类分析 设计k-均值算法分类器,对一组二维模式向量进行分类。
  • ¥15 stm32c8t6工程,使用hal库
  • ¥100 有偿求易语言word文档取doc和docx页数方法或模块
  • ¥15 找能接spark如图片的,可议价
  • ¥15 关于#单片机#的问题,请各位专家解答!
  • ¥15 博通raid 的写入速度很高也很低
  • ¥15 目标计数模型训练过程中的问题
  • ¥100 Acess连接SQL 数据库后 不能用中文筛选
  • ¥15 用友U9Cloud的webapi
  • ¥20 电脑拓展屏桌面被莫名遮挡