在codeigniter中上传文件

时间:2017-04-30 16:11:17

标签: php mysql codeigniter

这是我第一次使用codeigniter。 我在CI中上传文件时感到很困惑。我可以插入数据,但文件不会保存在数据库mysql中

这是我的观点 - 表格

    <form action="<?php echo base_url()."crud/do_insert";?>" method="POST" enctype="multipart/form-data">
            <table>
                <tr> 
                    <td> Code </td>
                    <td><input type="text" name="code"></td>
                </tr>
                <tr> 
                    <td> Name </td>
                    <td><input type="text" name="name"></td>
                </tr>
                <tr> 
                    <td> price </td>
                    <td><input type="text" name="price"></td>
                </tr>
                <tr> 
                    <td> Image </td>
                    <td><input type="file" name="image"></td>
                </tr>
            </table>
            <input type="submit" name="insert" value="insert">

这是我的控制器

public function do_insert(){
        $code = $_POST['code'];
        $name = $_POST['name'];
        $price= $_POST['price'];
        $image= $_FILES['image'];

        $config['upload_path']          = './upload/';
        $config['allowed_types']        = 'jpg|png';
        $config['max_size']             = 300;
        $config['max_width']            = 2000;
        $config['max_height']           = 2000;

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

        $image = $this->upload->data();
        $data_insert = array('code' => $code,
                            'name' => $name,
                            'price' => $price,
                            'image' => $image['file_name']
                        );
        $res = $this->m_barang->insertData('stuff', $data_insert);
        if($res>=1){
            redirect('crud/index');
        }else{
            echo "Failed"; 
        }
    }

是不是因为我有$ _POST和$ _FILES这个文件不能插入数据库?我是否必须在文本表单和上传表单之间分隔,但仍然在一个页面中?

0 个答案:

没有答案