源码论坛,商业源码下载,尽在锦尚中国商业源码论坛

标题: 帝国cms发布内容时上传gif图片不加水印的方法 [打印本页]

作者: 欧阳锋    时间: 2020-6-3 14:01
标题: 帝国cms发布内容时上传gif图片不加水印的方法
有的小伙伴发布图片的时候设置了图片水印功能,但是GIF图片如果是动图打了水印GIF动图效果就没了,所有就有了这篇绕过GIF打水印的教程。非常简单的小二开,希望大家举一反三来学习帝国一些常规技巧。

打开文件:/e/class/functions.php 搜索找到代码:if(empty($groundImage))

找到的代码片段应该是这样的:

  1. //图片加水印
  2. function GetMyMarkImg($groundImage){
  3.     global $public_r;
  4.     if(empty($groundImage))
  5.     {
  6.         return "";
  7.     }
  8.     imageWaterMark($groundImage,$public_r['markpos'],$public_r['markimg'],$public_r['marktext'],$public_r['markfontsize'],$public_r['markfontcolor'],$public_r['markfont'],$public_r['markpct'],$public_r['jpgquality']);
  9. }
复制代码

我们把他改成这样的:

  1. //图片加水印
  2. function GetMyMarkImg($groundImage){
  3.     global $public_r;
  4.     if(empty($groundImage))
  5.     {
  6.         return "";
  7.     }
  8.     if(substr($groundImage,-4)=='.gif')
  9.     {
  10.         return "";
  11.     }
  12.     imageWaterMark($groundImage,$public_r['markpos'],$public_r['markimg'],$public_r['marktext'],$public_r['markfontsize'],$public_r['markfontcolor'],$public_r['markfont'],$public_r['markpct'],$public_r['jpgquality']);
  13. }
复制代码

小伙伴们应该看出来了,上面代码就是在原有的代码中增加了一句判断,意思就是获取这个图片组变量里从后面数4位 正好是图片的扩展名,那么如果是.gif就返回空值了,其他图片格式不受影响!

  1. if(substr($groundImage,-4)=='.gif')
  2.     {
  3.         return "";
  4.     }
复制代码


这就可以了,自己去试试看吧!






欢迎光临 源码论坛,商业源码下载,尽在锦尚中国商业源码论坛 (https://bbs.52jscn.com/) Powered by Discuz! X3.3