Php 添加水印并动态显示图像(无需将其保存在服务器上或替换原始图像)

Php 添加水印并动态显示图像(无需将其保存在服务器上或替换原始图像),php,codeigniter,image-processing,Php,Codeigniter,Image Processing,我有一个助手函数,可以为图像添加水印 (我做了一些更改,使代码更短。请忽略较小的语法错误或缺少的代码) 它工作正常,但它在服务器上保存了水印版本,我想动态显示/下载它,而不保存在服务器上或替换原始图像。。。。我不知道如何在codeigniter中做到这一点 比如: $img = watermark($path_to_img , $image_name); header("Content-type: image/jpeg"); echo ( $img ); 若要替换

我有一个助手函数,可以为图像添加水印

(我做了一些更改,使代码更短。请忽略较小的语法错误或缺少的代码)

它工作正常,但它在服务器上保存了水印版本,我想动态显示/下载它,而不保存在服务器上或替换原始图像。。。。我不知道如何在codeigniter中做到这一点

比如:

    $img =  watermark($path_to_img  , $image_name);
    header("Content-type: image/jpeg");
    echo  ( $img );

若要替换源图像,请将源图像路径设置为“新建图像”

$config['source_image']   = $path_to_img.$image_name;
$config['new_image']      = $path_to_img.$image_name;

例如,您仍然可以将其保存在临时目录中,并使用代码删除早于几分钟的图像。或者更难的是,让一个php脚本流式输出图像,例如URL应该类似于script.php?IMG=flower.jpg

对于上面的第二个选项


您对效率有疑问吗?动态生成图像会占用您的服务器内存,在高流量站点上这是一个糟糕的jujuju。@NickOpris我知道,我刚刚有一个雇主,他的想法是缺少硬盘。。。这是一个临时的解决方案,直到他能够为他的服务器买得起一些新的硬盘,服务器配置非常好,谢谢,但我说过
没有将其保存在服务器上或替换原始映像
你是说你不想替换原始映像?如果是这样的话,你的代码得到了什么。这正是我的意思
$config['source_image']   = $path_to_img.$image_name;
$config['new_image']      = $path_to_img.$image_name;