加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 上传图片并在codeigniter中插入文本

发布时间:2020-12-13 16:21:51 所属栏目:PHP教程 来源:网络整理
导读:我试图上传带有标题和描述的图像以及图片上传.我的图像上传和文本输入分开工作,文本和图像路径也插入到数据库但我仍然无法想象如何将两者结合使用 我使用了http://codeigniter.com/user_guide/libraries/file_uploading.html中给出的指南 function do_upload
我试图上传带有标题和描述的图像以及图片上传.我的图像上传和文本输入分开工作,文本和图像路径也插入到数据库但我仍然无法想象如何将两者结合使用

我使用了http://codeigniter.com/user_guide/libraries/file_uploading.html中给出的指南

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);

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

            $this->load->view('upload_form',$error);
        }
        else
        {
            $data = array('upload_data' => $this->upload->data());

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

谁能告诉我如何将一些文本字段和图像上传表单一起插入到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

并在控制器中添加POST读数:

// 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);
    }
}

您还需要制作一个合适的模型来输入数据库中的数据.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读