我正在使用codeIgniter将文件上载到服务器中的文件夹中。现在我还想将数据保存到数据库中,为了获取原始数据然后将其保存到数据库中,我需要什么?代码点火器 - 如何将图像保存到数据库中
这里有保存文件的模型:
<?php
class files extends ci_Model{
function saves($filename, $filedata, $post_id){
$this->db->query("INSERT INTO tbl_files SET file_data='$filedata', filename='$filename', postid='$post_id'");
}
}
?>
以下是我把它从上传控制器:
$filename = $data['upload_data']['file_name'];
$file_data = file_get_contents($data['upload_data']['file_name']);
$this->load->model('files');
$this->files->saves($filename, $file_data, 'ID1');
表结构:
- file_data(LONG BLOB)
- 文件名(VARCHAR)
你为什么不只是保存路径的形象,而不是图像本身?表现会更好。看看http://stackoverflow.com/questions/3748/storing-images-in-db-yea-or-nay – Rooneyl 2012-03-16 12:49:11
他们说,当你把它存储在数据库中时它更安全,而且它也是可移植的,你不会有当您从一个操作系统更改为另一个操作系统时,担心文件系统结构 – 2012-03-16 12:54:43
我不会因为在将其保存到数据库时发生错误,所以我不会这么做。为了提高安全性,您可以将图像保存在htdocs文件夹的上方 – Rooneyl 2012-03-16 13:31:08