Как запрограммировать загрузку нескольких файлов с помощью 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

Переполнение стека

Переполнение стека

CodingLikeASir

0

Решение

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

Как это:

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]