【发布时间】:2015-10-13 10:18:51
【问题描述】:
到目前为止,一直在数据库中保存图像的路径,但这一次,我必须将实际图像保存在数据库中。我在表中为此准备了一个字段(longblob)
我的控制器中有这段代码:
$insertWhat = array(
'dsrequestFileName1' => $this->input->post('dsrequestFileName1'),
'dsrequestFile1' => isset($_FILES['dsrequestFile1']['name'])? $_FILES['dsrequestFile1']['name'] : '',
'dsrequestFileName2' => $this->input->post('dsrequestFileName2'),
'dsrequestFile2' => isset($_FILES['dsrequestFile2']['name'])? $_FILES['dsrequestFile2']['name'] : ''
);
$now = date('Y-m-d-His');
$valid_extensions = array('gif', 'jpg', 'jpeg', 'png', 'bmp','');
if($insertWhat['dsrequestFile1'] !=""){
if (!in_array(end(explode('.', strtolower($_FILES['dsrequestFile1']['name']))), $valid_extensions)) {
$this->session->set_flashdata('wrongtype', '<p class=error>Wrong type of file has been uploaded! Only gif, jpg, bmp and png are allowed.</p>');
redirect('somepage/somefunctionHere');
}
$insertWhat['dsrequestFile1'] = str_replace(' ', '_',$insertWhat['dsrequestFile1']);
$insertWhat['dsrequestFile1'] = $now.$insertWhat['dsrequestFile1'];
}
$config['upload_path'] = 'somefolder/imagesfolder';
$config['allowed_types'] = 'gif|jpg|jpeg|bmp|png';
$config['max_size'] = '2048';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$config['file_name'] = $insertWhat['dsrequestFile1'];
$this->load->library('upload', $config);
$this->upload->initialize($config);
// perform the upload
$this->upload->do_upload('dsrequestFile1');
$data = array('upload_data' => $this->upload->data('dsrequestFile1'));
// code that saves the insert data is irrelevant to the question, I can post it here if needed however.
但是,此代码仅上传图片。我应该在这里更改什么,以便我可以将图像保存在数据库中。如果可以的话,我不想上传图片。
不幸的是,CI 手册中没有任何内容。
【问题讨论】:
-
使用查询来做到这一点。上传后取文件名,存入数据库。
-
我确实检查了该页面,但那里提供的链接已损坏,并且解决方案不起作用。
标签: php mysql codeigniter