Я пытаюсь загрузить несколько изображений с помощью codeigniter. вот сценарий
Как я могу загрузить несколько изображений и сохранить местоположение изображения в БД (потому что я хочу показать загруженное изображение в моем файле просмотра), и перед загрузкой я также хочу переименовать мои изображения и изменить их размер до размера «большого пальца».
вот мой контроллер:
function uploadRoomImage(){
$i = 0;
$files = array();
foreach ($_FILES as $key => $value) {
if(!empty($value['name']))
{
$config['upload_path'] = 'assets/img/upload/rooms/';
$config['allowed_types'] = 'jpg|jpeg';
$config['file_name'] = $filename;
$config['max_size'] = '2000';
$config['remove_spaces'] = true;
$config['overwrite'] = false;
$this->upload->initialize($config);
if (!$this->upload->do_upload($key))
{
$error = array('error' => $this->upload->display_errors());
}
else
{
$files[$i] = $this->upload->data();
$i++;
//load image library
$this->load->library('image_lib');
$config['image_library'] = 'gd2';
$config['source_image'] = $image_data['full_path'];
$config['new_image'] = $image_data['file_path'].'room_thumb/';
$config['maintain_ratio'] = FALSE;
$config['create_thumb'] = TRUE;
$config['thumb_marker'] = '_thumb';
// $config['overwrite'] = false;
$config['width'] = 280;
$config['height'] = 280;
//initialize upload library using the config settings defined above.
$this->image_lib->initialize($config);
if (!$this->image_lib->resize()) {
$error = array('error' => $this->image_lib->display_errors());
} else {
$this->image_lib->resize();
}
//i want send each image file location into db in here after resizing each image
}
}
}
Я могу загрузить несколько изображений, но я не могу отправить их местоположение в мою базу данных, и я не могу изменить их размер. Пожалуйста, помогите
Похоже, ваш $config['source_image'] = $image_data['full_path'];
пропускает имя файла, прикрепленное к полному пути. Вы должны также включить это для $config['new_image']
,
И если вы хотите загрузить данные в свою базу данных, вы могли бы, вероятно, создать модель который обрабатывает эту операцию.
Других решений пока нет …