1

テキストと画像の両方をアップロードできるフォームを作成しようとしています。しかし、情報を入力すると、テキストは保存されるだけで、画像はフォルダに表示されないようです。

私のコントローラーファイルの一部

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

助けてください

4

1 に答える 1

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でフォームを作成する方法がわかりにくいと思います。

于 2011-08-11T15:29:57.697 に答える