我正在尝试创建用于上传文本和图像的表单。但是当我输入信息时,文本只会被保存,但图像似乎不会出现在文件夹中。
我的控制器文件的一部分
$form_data = array(
'address' => set_value('address'),
'area' => set_value('area'),
'lat' => set_value('lat'),
'lng' => set_value('lng'),
'subject' => set_value('subject'),
'problem' => set_value('problem'),
'image' => '',//what to put here???
'time' => $now,
'register_id' =>set_value ('register_id'),
'category_id' => set_value('category_id'),
'city_city_id' => set_value('city_city_id'),
'status_status_id' => set_value('status_status_id')
);
if ($this->report_model->SaveForm($form_data) == TRUE)
{
redirect('report/success');
}
function do_upload()
{
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '100';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->upload->initialize($config);
$this->load->library('upload', $config);
}
查看文件
$attributes = array('class' => '', 'id' => '');
echo form_open('report', $attributes); ?>
<p>
<label for="problem">problem detail:</label>
<?php echo form_error('problem'); ?>
<br /><input id="problem" type="text" name="problem" value="<?php echo
set_value('problem'); ?>" />
</p>
<p>Upload a image:
<?php echo form_open_multipart('report/do_upload');?>
<input type="file" name="image" size="20" />
请帮助
答案 0 :(得分:1)
默认情况下,上传的文件名为userfile
<input type="file" name="userfile" size="20" />
将上传输入元素的image
更改为userfile
。
否则将image
定义为上传类使用的名称/ ID。
如果您想设置自己的字段名称,只需将其值传递给 do_upload函数:
$field_name = "some_field_name";
$this->upload->do_upload($field_name)
参考: http://codeigniter.com/user_guide/libraries/file_uploading.html
实际上...... 似乎你到处都是(多种形式?)
只需转到我提供的参考链接,然后启动单个表单,按照用户指南获取最佳详细信息,我认为您只是混淆了如何在CI下创建表单。