核心方法:修改 config.inc.php 文件
这是最根本、最有效的方法,通过修改这个全局配置文件,可以控制整个系统是否为缩略图添加水印。

操作步骤:
-
找到文件: 使用FTP工具或虚拟主机控制面板的文件管理器,登录您的网站服务器,找到并下载以下文件:
/include/config.inc.php注意:这个文件通常位于网站的
include目录下,请根据您的实际安装路径确认。 -
编辑文件: 使用代码编辑器(如 Notepad++, VS Code, Sublime Text 等)打开
config.inc.php文件。 -
修改配置项: 在文件中找到以下两行配置代码:
(图片来源网络,侵删)// ------------------------------------------------------------------------ // 是否开启为缩略图添加水印功能 // ------------------------------------------------------------------------ $cfg_ddisalowwatermark = 'N'; // N:关闭 Y:开启
您需要做的修改非常简单:
-
将
$cfg_ddisalowwatermark = 'Y';修改为$cfg_ddisalowwatermark = 'N'; -
将
$cfg_ddisalowwatermark = 'N';保持不变即可。 -
'Y'代表 是(开启),系统会为缩略图添加水印。
(图片来源网络,侵删) -
'N'代表 否(关闭),系统不会为缩略图添加水印。
-
-
保存并上传: 保存修改后的文件,并通过FTP重新上传到服务器,覆盖原文件。
-
刷新测试: 登录织梦后台,重新生成一些缩略图,然后查看图片,水印应该已经消失了。
补充说明与注意事项
为什么有时候修改了文件还不生效?
这通常是因为您的服务器开启了 “OPcache” 或其他类似的缓存机制,PHP会缓存已编译的脚本文件,导致修改后的配置没有被立即读取。
解决方案:
- 方法一(推荐): 在织梦后台,进入“系统” -> “系统基本参数” -> “性能选项”,点击右上角的“清除所有缓存”。
- 登录您的服务器,找到OPcache的缓存目录(通常在
/tmp目录下),手动删除相关的缓存文件。 - 如果您使用的是宝塔面板等虚拟主机管理面板,可以在面板的“软件商店”中找到PHP版本设置,里面通常有“OPcache管理”选项,可以一键清空缓存。
水印设置的详细位置
除了开启/关闭全局水印,您可能还需要了解水印的具体样式设置,以便在需要时进行修改,这些设置同样在 config.inc.php 文件中:
// ------------------------------------------------------------------------ // 水印设置 // ------------------------------------------------------------------------ $cfg_watermarkposition = '1'; // 水印位置,1-10分别代表不同位置 $cfg_watermarktype = '1'; // 水印类型,1为文字,2为图片 $cfg_watermarktext = '织梦CMS'; // 水印文字内容 $cfg_waterfontcolor = '#FF0000'; // 水印文字颜色 $cfg_waterfontfamily = 'simhei.ttf'; // 水印字体,需将字体文件上传至 /include/fonts/ 目录 $cfg_waterfontsize = '12'; // 水印文字大小 $cfg_watermarktransparent = '60'; // 水印透明度 (0-100) $cfg_watermarkquality = '80'; // 水印图片质量 (0-100)
只针对缩略图不加水印,但大图要加水印
这是一个更精细的需求。config.inc.php 中的 $cfg_ddisalowwatermark 控制的是所有图片(包括原图和缩略图),如果您只想让缩略图不加水印,而原图保持水印,就需要修改处理缩略图的函数。
这需要修改织梦的核心文件,有一定风险,请务必提前备份!
需要修改的文件是:/include/helpers/image.helper.php
在这个文件中,找到处理缩略图的函数(通常是 function ResizeImg),在函数内部调用加水印函数($this->Watermark())之前,增加一个判断条件。
修改示例(请根据您的代码版本调整):
// 在 image.helper.php 文件中找到类似下面的代码段
// ... 生成缩略图的代码 ...
// 在这里添加判断,如果缩略图的高度或宽度小于某个值(比如200像素),就不加水印
if ($toWidth > 200 && $toHeight > 200) {
// 原来的加水印代码
$this->Watermark($destImage, $destImage);
} else {
// 新增:不加水印
// 直接保存图片,不做任何水印处理
imagejpeg($destImage, $destImage, $cfg_img_quality);
}
// ... 后续代码 ...
警告: 这种方法直接修改了核心文件,在织梦升级时,这些修改会被覆盖,升级后您需要重新进行修改。
| 需求场景 | 推荐方法 | 优点 | 缺点 |
|---|---|---|---|
| 全局关闭所有图片的水印 | 修改 config.inc.php 中的 $cfg_ddisalowwatermark = 'N'; |
安全、简单、官方支持,升级不受影响 | 无法实现部分图片加水印的需求 |
| 仅关闭缩略图的水印 | 修改核心文件 /include/helpers/image.helper.php |
可以实现精细控制 | 有风险,升级后失效,需要修改代码 |
对于绝大多数用户来说,第一种方法(修改 config.inc.php) 是最常用、最安全、最推荐的,如果您只是想让缩略图不要那么杂乱,直接关闭全局水印功能即可。
