如何使用字段代码Codeigniter将图像添加到表单中 [英] How add image into form with fields code Codeigniter

查看:32
本文介绍了如何使用字段代码Codeigniter将图像添加到表单中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Codeigniter的新手,也是MVC网页设计的新手,我有植物插入表格,我想上传图像并将图像名称保存到数据库中,我尝试了很多代码,但没有用,请帮我编写上传功能

I am new to Codeigniter and new to the MVC webdesign, i have plant insert form i want to upload image and save image name into database i tried many codes but not works please help me to write upload function

下面是植物插入形式

    <?php echo validation_errors(); ?>
    <?php echo form_open('AddPlant/InsertPlant')?>
        <div class="form-group has-error">
            <label for="name">Name <span class="require">*</span></label>
            <input type="text" class="form-control" name="name" />
        </div>

        <div class="form-group">
            <label for="description">Description</label>
            <textarea rows="5" class="form-control" name="description" > 
        </textarea>
        </div>
        <div class="form-group required">
           <label for="exampleSelect1" class='control-label'>Job Type</label>
           <select class="form-control" id="age" name="age">
            <option value="1">Level 1</option>
            <option value="2">Level 2</option>
            <option value="3">Level 3</option>
           </select>
        </div>
        <div class="form-group">
            <p><span class="require">*</span> - required fields</p>
        </div>
        <div class="form-group">
            <label for="description">Plant Image</label>
            <input type="file" name="plantimg">
        </div>
        <div class="form-group">
            <button type="submit" class="btn btn-primary">
                Create
            </button>
            <button class="btn btn-default">
                Cancel
            </button>
        </div>

    <?php echo form_close();?>

我的Codeigniter模型

My Codeigniter model

       <?php
       class Model_plants extends CI_Model
       {

     function insertPlantData(){

    $data =array(

        'name'=> $this->input->post('name',TRUE),
        'description'=> $this->input->post('description',TRUE),
         'age'=> $this->input->post('age',TRUE),

    );
    return $this->db->insert('plants',$data);
}
}


推荐答案

希望这对您有帮助:

注意:确保已加载数据库上传库(自动加载或在控制器中)

Note : make sure you have load database and upload library either in autoload or in controller

首先您的表单应如下所示:

First your form should be like this :

<?php echo form_open_multipart('AddPlant/InsertPlant')?>
    ............
 <?php echo form_close();?>

您的控制器应如下所示:

Your controller should be like this :

public function InsertPlant()
{
    /*here make sure your path is correct*/
    $config['upload_path']          = FCPATH .'assets/uploads/';
    $config['allowed_types']        = '*';

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

    if ( ! $this->upload->do_upload('plantimg'))
    {
        $error = array('error' => $this->upload->display_errors());
        print_r($error);die;
    }
    else
    {
        //$data = array('upload_data' => $this->upload->data());
        $file_name = $this->upload->data('file_name');
        /*here assuming that your column name for image is image_name, change it not*/
        $data =array(
                'name'=> $this->input->post('name',TRUE),
                'description'=> $this->input->post('description',TRUE),
                'age'=> $this->input->post('age',TRUE),
                'image_name'=> $file_name,
        );
        return $this->db->insert('plants',$data);
    }
}

这篇关于如何使用字段代码Codeigniter将图像添加到表单中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆