php - 如何使用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']
));
解决方案
图像总是首先上传到临时文件夹。之后通常会将其存储在一个文件夹中,然后使用 PHP 函数将其移动move_uploaded_file($filename, $destination)
到选择的文件夹中。您可以在 php.net 上阅读有关常见程序和陷阱的信息。
如果您想将文件存储在数据库中,我想您可以从临时目录中执行此操作,但您必须自己清理该目录。重要的是要知道变量$_FILES包含一个数组,其中包括临时名称和上传名称等详细信息。
请注意,可能难以处理数据库以进行移动、复制等,尤其是在其中存储许多文件时出现任何错误的情况下。数据库可以变得非常快非常大。将图像存储在数据库中并不是一个错误,但这不是常见的做法,并且有一些负面的方面。至少我会通过分隔表将媒体与数据库中的任何数据分开,因此您的决定应该对数据库设计产生一些影响。
推荐阅读
- reactjs - 根据 Props.Children 中的值进行条件样式
- javascript - 无法从使用外来对象在画布中绘制的 svg 中提取“base 64”
- groovy - 如何在 Nifi 中比较两个 CSV 文件?
- sql - 检索由未响应 to_sql 的 active_record 方法执行的原始 SQL
- java - jersey 2.22 中的 servicelocator impl 关闭问题
- nginx - 位置将所有 /*.xml 重定向到 /*
- javascript - 反应应用程序中的套接字io多个连接
- firebase - 我可以让`firebase deploy`在开始上传之前先运行`yarn build`吗?
- reactjs - 如何通过反应发送 x-www-form-urlencoded 请求?
- javascript - 我已经从 html 创建了 pdf 现在我想将此 pdf 上传到 cloudinary 或我们的服务器而不将其保存到客户端 PC