首页 > 解决方案 > 如何使用codeigniter在数据库中插入图像

问题描述

如何在不上传任何文件夹的情况下将图像插入数据库?

我的控制器端代码如下:

$data['f_name'] = $this->input->post('f_name');  
$data['l_name'] = $this->input->post('l_name');  
$data['contact'] = $this->input->post('contact');  
$data['email'] = $this->input->post('email');  
$data['uid'] = $this->input->post('uid');  
//$data['user_image'] = $this->input->post->userfiles['file_name'];  

我的模型端代码 ID 如下:

$this->db->where('id',$data['uid']);  
$this->db->update('users',array(  
'first_name' =>     $data['f_name'],  
'last_name' =>    $val['l_name'],  
'email'  =>    $val['email'],  
 'phone'  =>    $data['contact']    
));  

标签: phpcodeigniterphpmyadmincodeigniter-3

解决方案


图像总是首先上传到临时文件夹。之后通常会将其存储在一个文件夹中,然后使用 PHP 函数将其移动move_uploaded_file($filename, $destination)到选择的文件夹中。您可以在 php.net 上阅读有关常见程序和陷阱的信息

如果您想将文件存储在数据库中,我想您可以从临时目录中执行此操作,但您必须自己清理该目录。重要的是要知道变量$_FILES包含一个数组,其中包括临时名称和上传名称等详细信息。

请注意,可能难以处理数据库以进行移动、复制等,尤其是在其中存储许多文件时出现任何错误的情况下。数据库可以变得非常快非常大。将图像存储在数据库中并不是一个错误,但这不是常见的做法,并且有一些负面的方面。至少我会通过分隔表将媒体与数据库中的任何数据分开,因此您的决定应该对数据库设计产生一些影响。


推荐阅读