1

我正在尝试将上传的图像从 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();

还有其他方法可以直接获取临时图像并压缩保存吗?

谢谢你,丽贝卡

4

2 回答 2

2

请通过下面,这将有助于您的问题。

您可以为调整图像大小创建另一个文件夹或新名称。您正面临问题,因为在调整图像大小时,源图像已在使用中。因此要么创建新文件夹或更改文件名。

创建新文件夹

$config['new_image'] = "path/to/new/folder/img".".".$extension;

更改新图像(调整大小)名称

$config['new_image'] = "newimg".".".$extension;

让我知道它是否对您不起作用。

于 2017-06-10T09:05:02.040 回答
0

请根据您的要求通过以下运行解决方案。

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;
于 2017-06-10T09:44:19.950 回答