[英]Code Igniter - How to save images into database
我正在使用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');
表结构:
存储路径是非常好的方法。 但如果你想尝试......
它与PHP或CodeIgniter中的相同,
更好的我给你链接,然后在这里编写代码: http : //www.techcubetalk.com/2009/01/tutorial-on-how-to-store-images-in-mysql-blob-field/
试试吧,这是我的代码`
function _save($id = null){
$config['upload_path'] = './asset/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '1000';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$config['encrypt_name'] = TRUE;
$this->load->library('upload', $config);
if($_POST || $_FILES){
if(!$this->upload->do_upload('field_input_name')){
echo $this->upload->display_errors('<p>', '</p>');
} else {
$w = $this->upload->data();
$data = array(
'field_input_name' => $w['file_name'],
);
$this->db->insert('table_image', $data);
}
}
}
我通过使用方便的mysql_real_escape_string()解决了这个问题:
$filename = $data['upload_data']['file_name'];
$file_data = mysql_real_escape_string(file_get_contents($data['upload_data']['full_path']));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.