Изменение размера изображения с помощью 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;
Другие вопросы по тегам