2008-11-13 56 views
7

我试图通过表单将图像上传到我的网站,但是它更有效(而不是堵塞数据库)将图像的位置存储在数据库中。CodeIgniter - 通过表单上传图像,将图像的位置存储在数据库中

我有我的形式麻烦,真不知道去哪里:

<?=form_open('bro/submit_new');?> 
//other form data 
Image: <input type="file" name="image" size="20" /> <br> 
<input type="submit" value="Submit" /> 
</form> 

现在的形式本身工作正常,问题是,它试图将影像存储到数据库中的字段'图像'(这是类型的文字)。什么是最简单的方式来告诉它只存储文件,并给文件位置存储在'图像'字段? (我告诉它通过控制器上传文件的位置)。

感谢

编辑:控制器代码(此部分):

function submit_new(){ 
    $config['upload_path'] = './images/'; 
    $config['allowed_types'] = 'gif|jpg|png'; 
    $config['max_size'] = '2000'; 
    $config['max_width'] = '1024'; 
    $config['max_height'] = '768';  
    $this->load->library('upload', $config); 

    $this->db->insert('post', $_POST); 

    redirect('bro'); 
} 

回答

8

CodeIgniter的文件上传类会为你做到这一点。 entry in their user guide解释,我可以,所以我要指出你在那里。

本质上,你只需要修改控制器,他们在那里包括一点,你把文件的URL在数据库中,你可以很容易地完成使用$ this-> upload-> data()和从结果数组中提取[full_path],然后将其发送到处理数据库输入的模型。

+0

我的印象是,它直接加载的文件到数据库下?我有错吗? – scrot 2008-11-13 20:11:04

9

使用form_open_multipart()不form_open()

-1

使用模型的页面数据上传至数据库