- 所有上传的图片生成的缩略图都不打水印(全局设置)。
- 只对特定文章或图集中的缩略图不打水印(针对特定内容)。
下面我将分别详细说明如何操作。

(图片来源网络,侵删)
全局设置(推荐,适用于所有缩略图)
这个方法会修改DedeCMS的核心配置文件,让所有通过系统正常生成的缩略图都跳过水印。
操作步骤:
-
找到并打开配置文件
- 使用FTP工具或你的主机控制面板的文件管理器,登录到你的网站根目录。
- 找到并打开
include/config.update.inc.php文件。
-
修改配置参数
(图片来源网络,侵删)- 在这个文件中,找到
$cfg_ddimg_watermark这一行。 - 原始代码 大概是这样的:
$cfg_ddimg_watermark = 'Y'; // Y=开启 N=关闭
- 将其修改为:
$cfg_ddimg_watermark = 'N'; // Y=开启 N=关闭
- 说明:这里将
Y改为N,就是关闭缩略图的水印功能。
- 在这个文件中,找到
-
保存文件
- 保存对
config.update.inc.php文件的修改并上传回服务器。
- 保存对
-
清空缓存并重新生成缩略图
- 登录你的DedeCMS后台。
- 进入 “系统” -> “一键更新网站”。
- 在更新选项中,勾选 “更新HTML” 和 “生成缩略图”。
- 点击 “开始执行”。
重要提示:
- 只对新生效:这个设置只对之后新上传或重新生成的缩略图有效,对于已经生成并带有水印的缩略图,你需要执行第4步,让系统重新生成一遍,水印才会消失。
- 覆盖原文件:在“生成缩略图”的选项中,通常会有一个“覆盖原文件”的选项,如果你的旧缩略图尺寸与新设置不符,勾选它可以确保所有缩略图都被重新生成。
针对特定内容(高级用法)
如果你只想让某个栏目、某篇文章或某个图集的缩略图不打水印,而其他地方依然需要水印,这就需要修改处理缩略图生成的代码。

(图片来源网络,侵删)
场景1:让某个特定栏目下的文章缩略图不加水印
-
找到处理文件
- 打开
include/helpers/imageworks.helper.php文件。
- 打开
-
修改函数
-
在文件中找到
function WaterImg($sfile, $dfile, $wtype, $wpos, $wtext, $wfont, $wsize, $wwidth, $wheight)这个函数,这是生成水印的核心函数。 -
在函数内部,找到
if($wtype == 1)的判断分支(这是为图片添加文字水印的代码)。 -
在这个
if语句内部,找到imagecopy()或类似的核心复制代码。 -
在核心复制代码之前,加入一个判断条件,用于跳过特定栏目,假设你想让栏目ID为
5的栏目不加水印:// 在 if($wtype == 1) 内部 // 获取当前文档的栏目ID $typeid = isset($GLOBALS['typeid']) ? $GLOBALS['typeid'] : 0; // 如果栏目ID为5,则不执行加水印的操作 if ($typeid == 5) { return true; // 直接返回,跳过水印 } // 原来的水印代码... imagecopy(...)
-
-
保存并测试
保存文件后,清空缓存,重新生成栏目ID为5的文章缩略图,它们将不再有水印。
场景2:让特定图集不加水印
这个逻辑更复杂一些,通常需要根据文章的ID或其他唯一标识来判断,方法类似,只是判断条件需要调整。
// 在 if($wtype == 1) 内部
// 获取当前文档的ID
$aid = isset($GLOBALS['aid']) ? $GLOBALS['aid'] : 0;
// 如果文章ID为10,则不执行加水印的操作
if ($aid == 10) {
return true; // 直接返回,跳过水印
}
// 原来的水印代码...
imagecopy(...)
重要提醒与排查
- 权限问题:确保你修改的文件(如
config.update.inc.php)有写入权限,否则保存会失败。 - 缓存问题:修改设置后,务必清空DedeCMS的系统缓存和浏览器缓存,否则可能看不到效果。
- 检查水印类型:在后台 “系统” -> “系统基本参数” -> “图片设置” 中,检查一下水印的设置,确保你关闭的是“缩略图水印”,而不是“内容图片水印”,有时候这两个是分开设置的。
cfg_arc_watermark图片水印cfg_ddimg_watermark:缩略图水印
- 其他插件影响:如果你安装了其他图片处理相关的插件,它们可能会覆盖或干扰DedeCMS默认的水印功能,可以先尝试暂时禁用插件来排查问题。
对于绝大多数用户来说,方法一(全局设置) 是最简单、最直接、最推荐的方案,只需修改一个配置文件,然后重新生成缩略图即可,只有当你有非常精细的控制需求时,才需要考虑使用方法二(针对特定内容)。
