Изменение размера изображения с помощью gd2 в codeigniter
Я пытаюсь изменить размер загруженного изображения с панели Codeigniter на сервер, в этом процессе, когда я пытаюсь перезаписать изображение, я получаю черный фон с измененным размером изображения (изображение прилагается), пожалуйста, помогите мне с этим
Мой код выглядит следующим образом:
move_uploaded_file($_FILES['img']['tmp_name'],"img".".".$extension);
$config['image_library'] = 'gd2';
$config['maintain_ratio'] = TRUE;
$config['create_thumb'] = False;
$config['overwrite'] = TRUE;
$config['width'] = 1000;
$config['height'] = 1000;
$config['quality'] = 100;
$config['source_image'] = "img".".".$extension;
$config['new_image'] = "img".".".$extension;
$this->image_lib->clear();
$this->image_lib->initialize($config);
$this->image_lib->resize();
Также есть ли другой способ, которым я могу напрямую взять временное изображение и сохранить с компрессией?
Спасибо, Ребекка
2 ответа
Пожалуйста, пройдите ниже, это поможет вашей проблеме.
Вы можете создать другую папку или новое имя для изменения размера изображения. Вы столкнулись с проблемой, потому что при изменении размера изображения исходное изображение уже используется. Следовательно, либо создайте новую папку, либо измените имя файла.
Создать новую папку
$config['new_image'] = "path/to/new/folder/img".".".$extension;
Изменить имя нового изображения (с измененным размером)
$config['new_image'] = "newimg".".".$extension;
Дайте мне знать, если это не работает для вас.
Пожалуйста, ознакомьтесь с нижеприведенным решением в соответствии с вашими требованиями.
if ($this->input->server('REQUEST_METHOD') === 'POST'):
$this->load->library('image_lib');
$path_parts = pathinfo($_FILES["file"]["name"]);
$extension = $path_parts['extension'];
move_uploaded_file($_FILES['file']['tmp_name'], "./uploads/img" . "." . $extension);
$config['image_library'] = 'gd2';
$config['maintain_ratio'] = TRUE;
$config['create_thumb'] = False;
$config['overwrite'] = TRUE;
$config['width'] = 200;
$config['height'] = 200;
$config['quality'] = 100;
$config['source_image'] = "./uploads/img" . "." . $extension;
$this->image_lib->clear();
$this->image_lib->initialize($config);
$this->image_lib->resize();
endif;