使用codeigniter上传图像和文本

时间:2011-08-11 15:26:16

标签: codeigniter image-uploading

我正在尝试创建用于上传文本和图像的表单。但是当我输入信息时,文本只会被保存,但图像似乎不会出现在文件夹中。

我的控制器文件的一部分

               $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" />

请帮助

1 个答案:

答案 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下创建表单。