загрузка изображения и текста с помощью codeigniter - PullRequest
1 голос
/ 11 августа 2011

Я пытаюсь создать форму, с помощью которой я могу загрузить текст и изображение одновременно.Но когда я ввожу информацию, тексты только сохраняются, но изображение, похоже, не появляется в папке.

Часть моего файла контроллера

               $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 Ответ

1 голос
/ 11 августа 2011

По умолчанию загружаемый файл называется userfile

<input type="file" name="userfile" size="20" />

Измените это image на userfile для вашего элемента ввода загрузки.

В противном случае определите image в качестве имени / идентификатора для использования классом загрузки.

Если вы хотите установить собственное имя поля, просто передайте его значение функция do_upload:

$field_name = "some_field_name";
$this->upload->do_upload($field_name)

Ссылка: http://codeigniter.com/user_guide/libraries/file_uploading.html


В действительности ... кажется, что вы повсюду (несколько форм?)

Просто перейдите по ссылке, которую я предоставил, и запустите одну форму, следуйте руководству пользователя для получения более подробной информации, я думаю, вы просто не понимаете, как создать форму в CI.

...