2015-07-23 5 views
1

Я создаю несколько загружаемых изображений, используя несколько элементов для загрузки формы в форме Codeigniter3 form helper. У меня есть 4 upload_form загружать данные, как показано нижеКак загрузить несколько элементов формы отправки в Codeigniter3?

  1. eng_up_img
  2. kh_up_img
  3. ch_up_img
  4. fr_up_img

Я использовал эти поля для загрузки всех различных изображений для элементов формы к БД со свойствами изображения.

Вопросы Я не понимаю, как отправлять данные из каждого элемента формы в переменные PHP и как извлекать это поле из формы.

Вот моя форма

<?PHP echo form_open_multipart('', array('id' => 'eng_form')); ?> 
<?PHP echo form_upload('eng_up_img', '', 'class="" id="eng_up_img" '); ?> 
<?PHP echo form_upload('kh_up_img', '', 'class="" id="kh_up_img" '); ?> 
<?PHP echo form_upload('ch_up_img', '', 'class="" id="ch_up_img" '); ?> 
<?PHP echo form_upload('fr_up_img', '', 'class="" id="fr_up_img" '); ?> 
<?PHP echo form_close(); ?> 

А вот функция регулятора

public function upload() { 

     $this->load->helper(array('form', 'url')); 
     $config['upload_path'] = '../assets/img/slide'; 
     $config['image_library'] = 'gd2'; 
     $config['allowed_types'] = 'gif|jpg|png'; 
     $config['max_size'] = '1000000'; 
     $config['max_width'] = '102400'; 
     $config['max_height'] = '768000'; 
     $this->load->library('upload', $config); 
     $token = $this->security->get_csrf_hash(); 

     $res = FALSE; 
     $img_data = array(
      'eng_up_img' => $this->upload->do_upload('eng_up_img'), 
      'kh_up_img' => $this->upload->do_upload('kh_up_img'), 
      'ch_up_img' => $this->upload->do_upload('ch_up_img'), 
      'fr_up_img' => $this->upload->do_upload('fr_up_img'), 
     ); 
     if (!$img_data['eng_up_img'] && !$img_data['kh_up_img'] && !$img_data['ch_up_img'] && !$img_data['fr_up_img']) { 
      $res = FALSE; 
     } else { 
      $eng_up_img = $this->upload->data(); 
      $kh_up_img = $this->upload->data(); 
      $ch_up_img = $this->upload->data(); 
      $fr_up_img = $this->upload->data(); 
     } 
     echo json_encode(array('res' => $res, 'img_pro' => $data, 'token' => $token)); 
    } 

Я надеюсь, что друг может помочь мне спасибо

+0

Почему у меня только последний вид form_upload? –

ответ

1

Я думаю, что причина, почему вы получите последнюю form_upload только , потому что все они имеют одно и то же имя. попробуйте обновить ваше мнение:

$arrLanguagePrefix = array("eng","kh","ch","fr"); 
echo form_open_multipart('', array('id' => 'eng_form')); 

foreach($arrLanguagePrefix AS $value) 
{ 
    $arrData = array 
    (
     "id" => $value."_up_img", 
     "name" => $value."_up_img" 
    ); 

    echo form_upload($arrData); 
} 
echo form_close();