简体   繁体   English

在数据库中插入图像(codeigniter)

[英]Insert image in database (codeigniter)

At the moment of wanting to insert data of a form to the database it does everything well but the problem is that it inserts all the fields less the image 在想要将表单数据插入数据库的那一刻,它完成了一切,但问题是它插入所有字段而不是图像

form view: 表单视图:

<form name="form_cot" action="<?php echo base_url("article/insert")?>" method="POST">

  <div class="form-group">
  <label for ="tipotrabajo">Tipo de Trabajo: </label>
 <input type="radio" name="tipotrab" value="0" required> Fabricación
 <input type="radio" name="tipotrab" value="1"> Reparación
  </div>

  <div class="form-group">
     <label for ="origenmat">Origen del Material: </label>
 <input type="radio" name="origenmat" value="0" required> Empresa
 <input type="radio" name="origenmat" value="1"> Cliente
  </div>

  <div class="form-group">
    <label for="material">Material</label>
    <input type="text" name="material" value="<?= @set_value('material') ?>" class="form-control" placeholder="Ejemplo: acero,cobre" required>
  </div>
  <div class="form-group">
    <label for="alto">Alto</label>
    <input type="number" name="alto" class="form-control" required>
  </div>
  <div class="form-group">
    <label for="ancho">Ancho</label>
    <input type="number" name="ancho" class="form-control" required>
  </div>
  <div class="form-group">
    <label for="largo">Largo</label>
    <input type="number" name="largo" class="form-control" required>
  </div>
  <div class="form-group">
    <label for="cantidad">Cantidad</label>
    <input type="number" name="cantidad" class="form-control" required>
  </div>
  <div class="form-group">
  <label for="imagen">Imagen Referencia</label>
    <input type="file" name="userfile" required=''>
  </div>



  <center><input type="submit" value="Enviar" name="enviar" class="btn btn-primary"></center>
</form>

controller: 控制器:

public function insert(){

  $post = $this->input->post();
  $this->load->model('file');
  $file_name = $this->file->UploadImage();
  $post['file_name'] = $file_name;

  $bool = $this->cotizacion->insert($post);
  if($bool){
     header("Location: " . base_url() . "profile"); 
  }else{
    header("Location: " . base_url() . "article/nuevo"); //no se guardo
  }

  }

model file.php model file.php

            public function UploadImage(){

            $config['upload_path']          = './public/img/';
            $config['allowed_types']        = 'gif|jpg|png';
            $config['max_size']             = 100;
            $config['max_width']            = 1024;
            $config['max_height']           = 768;

            $this->load->library('upload', $config);

            if ( ! $this->upload->do_upload('userfile'))
            {
                    $error = array('error' => $this->upload->display_errors());

                    $this->load->view("/clientes/nuevo", $error);
            }
            else
            {
                    $file_data = $this->upload->data();

                     $file_name = $file_data['file_name'];
                     return $file_name;
            }
    }

please help where is the error ? 请帮忙哪里出错?

First you add in form tag 首先,您添加表单标记

Send form-data encoded as "multipart/form-data": 发送编码为“multipart / form-data”的表单数据:

File upload documentation click here 文件上传文档请单击此处

<form name="form_cot" action="<?php echo base_url('article/insert')?>" method="POST" enctype="multipart/form-data">

  <div class="form-group">
  <label for ="tipotrabajo">Tipo de Trabajo: </label>
 <input type="radio" name="tipotrab" value="0" required> Fabricación
 <input type="radio" name="tipotrab" value="1"> Reparación
  </div>

  <div class="form-group">
     <label for ="origenmat">Origen del Material: </label>
 <input type="radio" name="origenmat" value="0" required> Empresa
 <input type="radio" name="origenmat" value="1"> Cliente
  </div>

  <div class="form-group">
    <label for="material">Material</label>
    <input type="text" name="material" value="<?= @set_value('material') ?>" class="form-control" placeholder="Ejemplo: acero,cobre" required>
  </div>
  <div class="form-group">
    <label for="alto">Alto</label>
    <input type="number" name="alto" class="form-control" required>
  </div>
  <div class="form-group">
    <label for="ancho">Ancho</label>
    <input type="number" name="ancho" class="form-control" required>
  </div>
  <div class="form-group">
    <label for="largo">Largo</label>
    <input type="number" name="largo" class="form-control" required>
  </div>
  <div class="form-group">
    <label for="cantidad">Cantidad</label>
    <input type="number" name="cantidad" class="form-control" required>
  </div>
  <div class="form-group">
  <label for="imagen">Imagen Referencia</label>
    <input type="file" name="userfile" required=''>
  </div>



  <center><input type="submit" value="Enviar" name="enviar" class="btn btn-primary"></center>
</form>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM