如何在codeigniter中保存文件上传的文件名

时间:2016-09-26 13:36:31

标签: php codeigniter

我有一个实现字段上传超过1个文件的表单。但我仍然困惑如何将其存储到mysql。我只是想提交所有文件保存在mysql中。我需要你的帮助。

这是我的控制者:

function do_upload() {
        $config['upload_path'] = './uploads/';
        $config['allowed_types'] = 'jpeg|png|gif|jpg|txt|docs';
        $config['max_size'] = '2000';
        $config['max_width']  = '2000';
        $config['max_height']  = '2000';

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

        foreach ($_FILES as $key => $value) {

            if (!empty($value['tmp_name'])) {

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

这是我的观点:

<?php echo form_open_multipart('upload/do_upload');?>
<input type="file" name="file1" />
<input type="file" name="file2"/>
<input type="file" name="file3"/>
</div>
<br /><br/>
<input type="submit" value="upload" name="upload" />
</form>

1 个答案:

答案 0 :(得分:0)

上传成功后,$this->upload->do_upload($key)会返回一些数据。

看看这里:CI3 Docs

所以,将它保存到变量中,比如说$data

$data = $this->upload->do_upload($key);

这将是一个数组,并使用$data['file_name']访问上传文件的名称。这将是你的代码的else条件。