【问题标题】:Codeigniters do_upload() function is not workingCodeigniters do_upload() 函数不起作用
【发布时间】:2017-05-26 13:48:32
【问题描述】:

如果我删除部分$this->upload->do_upload('filefoto'),我的数据会保存到数据库中,但图像文件不会保存到文件夹路径中。

enter link description here

从pastebin复制

public function tambahanggota() {    
    $this->load->library('upload');
    $nmfile = "file_".time();
    $config['upload_path'] = './assets/uploads/';
    $config['allowed_types'] = 'gif|jpg|png|jpeg|bmp';
    $config['max_size'] = '3072';
    $config['max_width']  = '5000';
    $config['max_height']  = '5000';
    $config['file_name'] = $nmfile;

    $this->upload->initialize($config);
   
    if($_FILES['filefoto']['tmp_name'])
    {
        if ($this->upload->do_upload('filefoto'))
        {
            $gbr = $this->upload->data();
            $data = array(
           
            'nm_gbr' =>$gbr['file_name']                
            );

            $res = $this->M_tambahdata->tambahdata("anggota",$data);

            $config2['image_library'] = 'gd2';
            $config2['source_image'] = $this->upload->upload_path.$this->upload->file_name;
            $config2['new_image'] = './assets/hasil_resize/';
            $config2['maintain_ratio'] = TRUE;
            $config2['width'] = 100;
            $config2['height'] = 100;
            $this->load->library('image_lib',$config2);
           
            if ($res>=1) {

            echo "<script>alert('Data berhasil disimpan')</script>";
            echo "<script>window.location='".base_url()."dataanggota'</script>";
            }
                   
            else{
                $this->session->set_flashdata('pesan', 'Maaf, ulangi data gagal di inputkan.');
                redirect('dashboard/index');
            }
         
        }
    }
}

如何上传我的图片?

【问题讨论】:

  • 不工作,可以存入数据库但文件夹路径为空
  • 本地主机还是公共(共享)服务器?
  • 查看你是否使用过codeigniter表单助手form_open_multipart('controller/function')并尝试if (isset($_FILES) {...}
  • @Vickel 公共(共享)服务器

标签: php codeigniter image-uploading


【解决方案1】:

在托管的共享服务器上,您可能需要提供上传文件夹的完整相对路径。还要确保您拥有将文件写入该目录的所有权限!

您可以在 localhost 环境中使用

$config['upload_path']   = './assets/upload'; 

但在共享主机上,您需要更具体,通常类似

$config['upload_path']   = '/home/yourserver/public_html/assets/upload'; 

你可以找到这个upload_path,例如在左侧列的帐户 cPanel 主页中,或者可能想致电您的提供商的帮助台以获取有关正确路径的更多信息。

【讨论】:

    【解决方案2】:

    你错过了这个

    $this->upload->upload_path.'/'.$this->upload->file_name;
    

    【讨论】:

      猜你喜欢
      • 2022-08-08
      • 1970-01-01
      • 1970-01-01
      • 2011-07-18
      • 2016-05-15
      • 1970-01-01
      • 1970-01-01
      • 2018-11-14
      • 2021-12-17
      相关资源
      最近更新 更多