在codeigniter中将图像上传到数据库?

时间:2015-09-30 01:37:16

标签: mysql image codeigniter

我尝试搜索但没有成功我想将最多5张图片与用户表单数据一起上传到数据库。我有表格,其中所有用户数据的表格已保存以及上传的图片[图片上传附有用户表格]图片数据库中的字段命名为pic1,pic2,pic3 .. pic5 +电子邮件,密码等我成功将图像数据上传到数据库但不是图像。

// controller

  if ($this->form_validation->run()!=true) {
            $data['countryDrop'] = $this->Country_states_cities->getCountries();  
            $this->load->view('header');
            $this->load->view('register',$data); //Display page
            $this->load->view('footer');
      }else{



            $form=array();
            $form['first_name']=$this->input->post("first_name",true);
            $form['last_name']=$this->input->post("last_name",true);
            $form['dob']=date('Y-m-d',strtotime($this->input->post("dob",true)));       
            $form['email']=$this->input->post("email",true);
            $form['password']=sha1($this->input->post("password",true));
            $form['phone']=$this->input->post("phone",true);
            $form['addline2']=$this->input->post("addressline2",true);
            $form['zip']=$this->input->post("zip",true);


            $result = $this->Couch_reg->insert_new_user($form); //call to model         

//模型

function insert_new_user($form)
    {

        $this->db->insert('tbl_usrs',$form);

        if ($this->db->affected_rows() > 0) {

        return true;

        } else {
        return false;
        }


    }

//查看

<input type="file" name="uploadfile[]" accept = "image/*" multiple = "multiple" size="20" /> <br />

因为我们可以看到模型部分很短,我想以数组形式收集图像名称并将其发送到数据库。

1 个答案:

答案 0 :(得分:1)

您需要将图像保存在上传文件夹中,并将图像名称保存在数据库中。

<html>
<body>
<form method="POST" action="<?php echo site_url('my-controller/file_upload');?>" 'enctype'=>'multipart/form-data'>
<label for="file">Filename:</label>
<input type="file" name="userfile[]" id="file" multiple>
<input type="submit" value="upload"></form>
</body>
</html>

然后创建控制器 在里面制造它:

$files = $_FILES;
                $cpt = count($_FILES['userfile']['name']);
                 for($i=0; $i<$cpt; $i++)
                {
                $_FILES['userfile']['name']= $files['userfile']['name'][$i];
                $_FILES['userfile']['type']= $files['userfile']['type'][$i];
                $_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i];
                 $_FILES['userfile']['error']= $files['userfile']['error'][$i];
                 $_FILES['userfile']['size']= $files['userfile']['size'][$i];
                $this->upload->initialize($this->set_upload_options());
                $this->upload->do_upload();
                $fileName = $_FILES['userfile']['name'];
                 $images[] = $fileName;

希望这会对你有所帮助。 有关更多信息,请尝试以下操作:http://w3code.in/2015/09/upload-file-using-codeigniter/