Intereting Posts
Совершенно новый для PHP: Catchable fatal error: объект класса stdClass не может быть преобразован в строку Есть ли отдельная библиотека маршрутизации PHP? Сначала PHP или HTML или это имеет значение? Есть ли способ для пользователей моего сайта приглашать своих друзей через Facebook Connect или API? PHP strtotime +1 месяц добавление дополнительного месяца Почему SQLite настолько медленный (~ 2 q / s) на конкретной машине? Заполнение событий в полном календарном javascript из базы данных Как получить переменные системной среды в PHP при запуске CLI и Apache2Handler? Как я могу использовать простой раскрывающийся список в окне поиска GridView :: widget, Yii2? Удалите все в тегах скриптов и стилей Codeigniter – Bootstrap Modal – передача данных str_getcsv сломан, клики диакритики? Отображение атрибутов другой модели в CGridView Отправить письмо в php с прикрепленным файлом, который создается из базы данных Netbeans PHP – Перейти к объявлению

Загрузка нескольких изображений с помощью CodeIgniter

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

мой контроллер:

function products() { date_default_timezone_set("Asia/Kolkata"); $config['upload_path'] = './resources/images/products/'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = 1000; $config['max_width'] = 1024; $config['max_height'] = 768; $this->load->library('upload', $config); $this->upload->do_upload('userfile'); $data = array('prod_image' => $this->upload->data(), 'prod_image1' => $this->upload->data(), 'prod_image2' => $this->upload->data()); $product_image=$data['prod_image']['file_name']; $product_image1=$data['prod_image1']['file_name']; $product_image2=$data['prod_image2']['file_name']; $data = array( 'name' => $this->input->post('pd_name'), 'prod_image' => $product_image, 'prod_image1' => $product_image1, 'prod_image2' => $product_image2, 'created_time' => date('Ymd H:i:s')); // insert form data into database $result_set= $this->tbl_products_model->insertUser($data); } 

моя часть обзора:

 <input class="form-control" name="pd_name"type="text"/> <input type="file" class="file_upload2" name="userfile"/> //1 <input type="file" class="file_upload2" name="userfile"/> //2 <input type="file" class="file_upload2" name="userfile"/>//3 

Пожалуйста, помогите, как вставить 3 изображения.

моя база данных

идентификатор | имя | prod_image | prod_image1 | prod_image2 |

1 | ARD | | | |

Related of "Загрузка нескольких изображений с помощью CodeIgniter"

Html:

 <input type="file" name="userfile[]" multiple="multiple"> 

PHP:

 <?php public function products() { $this->load->library('upload'); $dataInfo = array(); $files = $_FILES; $cpt = count($_FILES['userfile']['name']); for($i=0; $i<$cpt; $i++) { $_FILES['userfile']['name']= $files['userfile']['name'][$i]; $_FILES['userfile']['type']= $files['userfile']['type'][$i]; $_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i]; $_FILES['userfile']['error']= $files['userfile']['error'][$i]; $_FILES['userfile']['size']= $files['userfile']['size'][$i]; $this->upload->initialize($this->set_upload_options()); $this->upload->do_upload(); $dataInfo[] = $this->upload->data(); } $data = array( 'name' => $this->input->post('pd_name'), 'prod_image' => $dataInfo[0]['file_name'], 'prod_image1' => $dataInfo[1]['file_name'], 'prod_image2' => $dataInfo[2]['file_name'], 'created_time' => date('Ymd H:i:s') ); $result_set = $this->tbl_products_model->insertUser($data); } private function set_upload_options() { //upload an image options $config = array(); $config['upload_path'] = './resources/images/products/'; $config['allowed_types'] = 'gif|jpg|png'; $config['max_size'] = '0'; $config['overwrite'] = FALSE; return $config; } ?> 

Проблема заключается в следующей строке кода:

 <input type="file" class="file_upload2" name="userfile"/> //1 <input type="file" class="file_upload2" name="userfile"/> //2 <input type="file" class="file_upload2" name="userfile"/>//3 

все эти три имеют одинаковое имя. Чтобы решить это, есть два способа:

  1. Дать имя diff всем 3 файлам входного типа
  2. Создайте один файл типа ввода с его множественным выбором файла true, и его имя должно быть массивом типа:
 <input type="file" name="filefield[]" multiple="multiple"> 

Внесите следующие изменения и повторите попытку.