我一直试图将图像上传到数据库中(注意:我正在使用Codeigniter 3),但是每次尝试将图像上传到数据库时,它都不会存储文件名和图像本身,而只是在BLOB var类型中存储1位。
$photo = file_get_contents($_FILES['image']['tmp_name];
this->db->select('*')
[...]
if(empty($response){
$data['entry_phone_no'] = $this->input->post('phone_no');
$data['entry_email'] = $this->input->post('email');
$data['entry_firstname'] = $this->input->post('first_name');
$data['entry_lastname'] = $this->input->post('last_name');
$data['entry_photo'] = $photo;
$data['entry_photo_name'] = $photo;
在我的model.php中,我具有上面的设置,它保存了其他数据(电话号码,电子邮件等)。我知道我在"$photo"
部分丢失了一些代码,但是有人可以指出吗?
答案 0 :(得分:0)
您可以将图像上传到名为“ Uploads”的文件夹中,然后将该文件名保存到数据库中,如下所示:
Views.php:
<input class="my-set_3" type="file" name="chatbot_profile" id="chatbot_profile" required>
Controller.php:
if (!empty($_FILES['chatbot_profile']['name']))
{
$config['upload_path'] = './uploads';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = 1000000;
$config['file_name'] = time();
$this->load->library('upload', $config);
if ( ! $this->upload->do_upload('chatbot_profile'))
{
$error = array('error' => $this->upload->display_errors());
}
else
{
$data = array('upload_data' => $this->upload->data());
$file_name = $data['upload_data']['file_name'] ;
// Store this filename into database
// Your database code will be placed here
// OR call model mathod from here
}
}
注意:上载文件夹将由我们和应用程序外部创建 文件夹。