Php 上传图像并在codeigniter中插入文本

Php 上传图像并在codeigniter中插入文本,php,codeigniter,insert,image-uploading,Php,Codeigniter,Insert,Image Uploading,我正试图上传一个带有标题和描述的图片。我的图像上传和文本输入分开工作,文本和图像路径也被插入到数据库中,但我仍然不知道如何将两者结合起来 我使用了中给出的指南 有人能告诉我如何将一些文本字段与图像上载表单一起插入sql数据库吗?基本上,只需将图像上载输入放在相同的表单中,如: // view echo form_open_multipart('controller_name/do_upload'); echo form_input("title", ""); echo form_input("d

我正试图上传一个带有标题和描述的图片。我的图像上传和文本输入分开工作,文本和图像路径也被插入到数据库中,但我仍然不知道如何将两者结合起来

我使用了中给出的指南


有人能告诉我如何将一些文本字段与图像上载表单一起插入sql数据库吗?

基本上,只需将图像上载输入放在相同的表单中,如:

// view
echo form_open_multipart('controller_name/do_upload');
echo form_input("title", "");
echo form_input("description", "");
echo form_upload("userfile");
echo form_close
并在控制器中添加后期读取:

// controller
function do_upload()
{
    $config['upload_path'] = './uploads/';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = '100';
    $config['max_width']  = '1024';
    $config['max_height']  = '768';

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

    // validate the POST data 
    // http://codeigniter.com/user_guide/libraries/form_validation.html
    $this->form_validation->set_rules('title', 'Title', 'trim|required');
    $this->form_validation->set_rules('description', 'Description', 'trim|required')

    if ($this->form_validation->run() == FALSE)
    {   
        // failed validation
        $this->load->view('myform');

        // quit here
        return false;
    }

    if ( ! $this->upload->do_upload())
    {
        // no file uploaded or failed upload
        $error = array('error' => $this->upload->display_errors());
        $this->load->view('upload_form', $error);
    }
    else
    {
        // success
        $data = array('upload_data' => $this->upload->data());
        $title = $this->input->post('title');
        $description = $this->input->post('description');

        // a model that deals with your image data (you have to create this)
        $this->your_upload_model->add($title, $description, $data["file_name"]);

        $this->load->view('upload_success', $data);
    }
}

您还需要制作一个合适的模型,以便在数据库中输入数据。

Hello@Woxxy回答得很好。但是,如果图像上传是可选的更新怎么办。在这种情况下该怎么办?
// controller
function do_upload()
{
    $config['upload_path'] = './uploads/';
    $config['allowed_types'] = 'gif|jpg|png';
    $config['max_size'] = '100';
    $config['max_width']  = '1024';
    $config['max_height']  = '768';

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

    // validate the POST data 
    // http://codeigniter.com/user_guide/libraries/form_validation.html
    $this->form_validation->set_rules('title', 'Title', 'trim|required');
    $this->form_validation->set_rules('description', 'Description', 'trim|required')

    if ($this->form_validation->run() == FALSE)
    {   
        // failed validation
        $this->load->view('myform');

        // quit here
        return false;
    }

    if ( ! $this->upload->do_upload())
    {
        // no file uploaded or failed upload
        $error = array('error' => $this->upload->display_errors());
        $this->load->view('upload_form', $error);
    }
    else
    {
        // success
        $data = array('upload_data' => $this->upload->data());
        $title = $this->input->post('title');
        $description = $this->input->post('description');

        // a model that deals with your image data (you have to create this)
        $this->your_upload_model->add($title, $description, $data["file_name"]);

        $this->load->view('upload_success', $data);
    }
}