我正在尝试通过表单将图像上传到我的网站,但是(而不是让数据库陷入困境)只是将图像的位置存储在数据库中会更有效。
我的表格有问题,实在不知道该去哪了:
<?=form_open('bro/submit_new');?>
//other form data
Image: <input type="file" name="image" size="20" /> <br>
<input type="submit" value="Submit" />
</form>
现在表单本身工作正常,问题是它试图将图像存储到数据库字段'image'(类型为TEXT)。告诉它只存储文件,并将文件位置存储在“图像”字段中的最简单方法是什么? (我告诉它通过控制器上传文件的位置)。
由于
编辑:控制器代码(对于这部分):
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');
}
答案 0 :(得分:9)
使用form_open_multipart()而不是form_open()
答案 1 :(得分:8)
CodeIgniter的文件上传类将为您完成此操作。 entry in their user guide尽可能地解释,所以我要指出你。
基本上你只需要修改他们在那里的控制器,包括你将文件URL放在数据库中的位,你可以使用$ this-&gt; upload-&gt; data()轻松完成并从结果数组中提取[full_path],然后将其发送到处理数据库输入的模型。
答案 2 :(得分:-1)
使用模型页面将数据上传到数据库