Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 水印函数返回true,但图像未修改_Php_Codeigniter - Fatal编程技术网

Php 水印函数返回true,但图像未修改

Php 水印函数返回true,但图像未修改,php,codeigniter,Php,Codeigniter,我所要做的就是在上传时给图像加上水印。虽然水印函数返回TRUE,但图像不会被修改 这是我编写的函数,即使使用try-and-catch,它也不起作用: public function product_small_image_upload($path, $folder) { try { $image = new ImageResize($path); $image->quality_jpg = 85; $image->resi

我所要做的就是在上传时给图像加上水印。虽然水印函数返回
TRUE
,但图像不会被修改

这是我编写的函数,即使使用try-and-catch,它也不起作用:

 public function product_small_image_upload($path, $folder)
{

    try {
        $image = new ImageResize($path);
        $image->quality_jpg = 85;
        $image->resizeToHeight(300);
        $new_name = 'img_x300_' . generate_unique_id() . '.jpg';
        $new_path = 'uploads/' . $folder . '/' . $new_name;

        $imgConfig = array();

        $imgConfig['image_library']   = 'GD2';

        $imgConfig['source_image']    = $new_path;

        $imgConfig['wm_text']         = 'Copyright 2019';

        $imgConfig['wm_type']         = 'text';

        $imgConfig['wm_font_size']    = '16';

        $this->load->library('image_lib', $imgConfig);

        $this->image_lib->initialize($imgConfig);

        $this->image_lib->watermark(); 

        $image->save(FCPATH . $new_path, IMAGETYPE_JPEG);

        return $new_name;
    } catch (ImageResizeException $e) {
        return null;
    }
}
  • $new\u path
    变量包含以下字符串
    upload/images/img\u x300\u 1289.png
    ,该名称是随机生成的

  • 我还尝试了
    base_url().$new_path
    ,因为我认为我必须更具体地描述图像路径,但它仍然不起作用

  • 我怎样才能看到什么不起作用,为什么即使我在上传图像时也没有水印


首先添加$new\u path=FCPATH上载/'$文件夹“/”$新名称

您不需要使用$imgConfig['image_library'],也不需要使用水印对齐

你为什么不这样用正确的方法呢:

$config['source_image'] = $new_path;
$config['wm_text'] = 'Copyright 2019';
$config['wm_type'] = 'text';
$config['wm_font_path'] = './system/fonts/texb.ttf';
$config['wm_font_size'] = '8';
$config['wm_font_color'] = '000000';
$config['wm_vrt_alignment'] = 'bottom';
$config['wm_hor_alignment'] = 'right';

使用此代码,您将获得水印,只需选择所需文本的颜色

尝试
echo$this->image\u lib->display\u errors()
获取错误(如果有)。函数返回
true
,因此不应该有任何错误,但我会尝试