【问题标题】:Uploading images to database in codeigniter?在codeigniter中将图像上传到数据库?
【发布时间】:2015-09-30 11:54:30
【问题描述】:

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

//控制器

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

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

【问题讨论】:

标签: mysql image codeigniter


【解决方案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/

【讨论】:

  • 那是学习的邪恶地方,我必须做很多更正,但它有帮助
  • 感谢您的反馈,我们会努力做得更好。
猜你喜欢
  • 1970-01-01
  • 2016-09-05
  • 1970-01-01
  • 2018-05-09
  • 2013-06-28
  • 2015-04-15
  • 2019-02-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多