2014-11-10 7 views
0

Я хочу иметь несколько файлов для загрузки файлов.Как скопировать несколько файлов с помощью CodeIgniter?

Например:

Koala.jpg 
Penguins.jpg 
Jellyfish.jpg 

Существует ввод текста, в котором пользователь может установить новое имя изображения.

Теперь пользователь будет загружать изображения и введенный текст для нового имени изображения является «Животные»

Теперь, что я хочу, когда это загружено на выходе должно быть Animals1.jpg, Animals2.jpg, Animals3. JPG.

Проблема заключается в том, что когда я пытался загрузить все эти изображения, загружается только одно изображение.

Я попытался сделать исследование и применить некоторые коды к своей программе, но все еще не работает.

Контроллер

public function do_upload() { 
    $config = array(
     'image_library' => 'gd2', 
     'file_name'  => $this->input->post('finame'), 
     'upload_path' => './public/img/uploads', 
     'upload_url' => base_url().'public/img/uploads', 
     'allowed_types' => 'gif|jpg|jpeg', 
     'max_size'  => '1024KB', 
     'max_width'  => '1024', 
     'max_height' => '768', 
     'maintain_ratio'=> TRUE, 
     'overwrite'  => false, 
    ); 
    $this->load->library('upload', $config); 
    if (!$this->upload->do_upload()) { 
     $error_msg = "<div class='alert alert-error'>".$this->upload->display_errors()."</div>"; 
     $error = array('error' => $error_msg); 
    } 
    else { 
     $upload_data = $this->upload->data(); 
     $data['thumbnail_name'] = $upload_data['raw_name']. '_thumb' .$upload_data['file_ext']; 
     $file_array = array(
      'image'   => $data['thumbnail_name'], 
      'image_name' => $upload_data['file_name'], 
      //'description' => "", 
      'date_created' => date('Y-m-d H:i:s', now()), 
      'date_modified' => date('Y-m-d H:i:s', now()), 
      'author'  => $this->session->userdata('username'), 
      'size'   => $upload_data['file_size'], 
      'type'   => $upload_data['image_type'], 
      'width'   => $upload_data['image_width'], 
      'height'  => $upload_data['image_height'], 
      //'document_name' => $field, 
      //'department' => $field2, 
      //'notes'   => "", 
     ); 
     $this->session->set_userdata('image_print', $file_array); 
     $this->load->database(); 
     $this->db->insert('tbl_image', $file_array); 
     $data = array('upload_data' => $this->upload->data()); 
     $user_level['records']=$this->user_model->get_records(); 
     $this->load->view('v_dashboard/page/header_view', $user_level); 
     $this->load->view('v_document/upload/upload_result_view', $data); 
     $this->load->view('v_dashboard/page/footer_view'); 
    } 
} 

У меня есть это на моем HTML

<label for="file"><strong>Select File To Upload:</strong></label> 
<input type="file" name="userfile[]" multiple class="btn transcolor btn-file"/> 
<br/><br/> 

Кстати, я использую BLOB в моей базе данных.

Я попытался сослаться на это ссылки

Ellislab

GitHub

StackOverflow

StackOverflow

CodingLikeASir

ответ

0

Вам нужно запустить цикл for до количества загруженного файла изображения.

Как это:

for ($i=0; $i < count($_FILES['userfile']['name']); $i++) 
{ 
    // function to add the image name one by one into database. 
} 
+0

что [ 'имя'] здесь? – jned29

+0

где я должен помещать этот код? – jned29

+0

имя файла, который вы загрузили. –

Смежные вопросы