/dede/inc/inc_archives_article_view.php
文件。,2. 查找并替换以下代码:, “php, if(isset($imglist['thumb']) && $imglist['thumb'] != ''){, $imgurl = $imglist['thumb'];, }elseif($imglist[0]['litpic'] != '' && !preg_match('/^http:///i', $imglist[0]['litpic'])){, $imgurl = $siteurl.'/'.$imglist[0]['litpic'];, },
`, 替换为:,
`php, if(isset($imglist['thumb']) && $imglist['thumb'] != ''){, $imgurl = $imglist['thumb'];, }elseif($imglist[0]['litpic'] != '' && !preg_match('/^http:///i', $imglist[0]['litpic'])){, $imgurl = $siteurl.'/'.$imglist[0]['litpic'];, }, if (C('watermark.is_open') && C('watermark.type') == 'image' && preg_match('/.(jpg|jpeg|png)$/i', $imgurl)) {, require_once DESTCUBE_ROOT.'/data/watermark.php';, $imgurl = Watermark::addWatermark($imgurl);, },
“,3. 保存文件并重新生成页面缓存。在Dedecms 5.6/5.7版本中,解决图集上传图片水印无效的问题可以通过以下几种方法:
方法一:修改swfupload.php文件
1、打开swfupload.php文件:
使用FTP工具或服务器管理面板找到并打开dedeswfupload.php
文件。
2、添加代码:
在约第95行处找到unlink($FiledataNew);
这一行代码。
在该行下面添加一行代码:`//添加水印
WaterImg($cfg_basedir.$fileurl);`。
3、保存并上传文件:
将修改后的swfupload.php
文件保存并上传回服务器覆盖原文件。
4、测试效果:
重新上传一张图片,检查是否已经成功添加了水印。
方法二:修改image.func.php文件(适用于Dedecms 5.6)
1、打开image.func.php文件:
使用FTP工具或服务器管理面板找到并打开include/image.func.php
文件。
2、查找并修改代码:
查找到以下代码段:
“`php
function WaterImg($srcFile, $fromGo=”) {
include(DEDEINC."/data/mark/inc_photowatermark_config.php");
if (isset($GLOBALS[‘needwatermark’]) && empty($GLOBALS[‘needwatermark’])) {
$photo_markup = $photo_markdown = 0;
} else {
$photo_markup = $photo_markdown = 1;
}
if ($photo_markup != 1 || $photo_markdown != ‘1’) {
return;
}
$x = +5;
$y = +5;
}
“`
将上述代码中的if ($photo_markup != 1 || $photo_markdown != '1')
替换为if ($photo_markup=='0' || $photo_markdown!='1')
,并在其后添加$photo_markup=$photo_markdown=0;
。
3、保存并上传文件:
将修改后的image.func.php
文件保存并上传回服务器覆盖原文件。
4、测试效果:
重新上传一张图片,检查是否已经成功添加了水印。
方法三:后台设置与文件替换(通用方法)
1、后台设置:
登录Dedecms后台,进入“系统” > “基本参数” > “附件设置”。
确保“图集是否使用水印”选项已开启。
2、替换水印文件:
在后台上传新的水印图片,替换原有的水印图片文件(通常位于data/mark
目录下的mark.png
和mark.gif
),注意,DedeCMS默认使用PNG图片的方式添加水印,因此推荐使用GIF格式的水印图片。
3、测试效果:
重新上传一张图片,检查是否已经成功添加了新设置的水印。
注意事项
在进行任何文件修改之前,请务必备份原始文件,以防万一出现问题时能够恢复。
修改PHP文件时,请确保遵循正确的PHP语法规则,避免引入新的错误。
如果以上方法均不能解决问题,建议检查服务器环境、PHP版本以及Dedecms的安装和配置情况,或者寻求专业的技术支持。
FAQs
问题1:为什么按照方法一操作后,图片仍然没有水印?
答:可能是由于缓存问题导致的,请尝试清除浏览器缓存或服务器缓存后重试,如果仍然不行,请检查修改的代码是否正确无误地添加到了文件中。
问题2:是否可以自定义水印的位置和透明度?
答:是的,可以通过修改image.class.php
文件中的相关代码来自定义水印的位置和透明度,但请注意,这需要一定的PHP编程基础。
问题3:如果我不想使用PNG格式的水印图片,可以吗?
答:可以,虽然DedeCMS默认使用PNG图片的方式添加水印,但你也可以选择使用其他格式的图片作为水印,只需在后台上传并替换原有的水印图片文件即可,但请注意,不同格式的图片可能会影响到水印的效果和性能。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1095806.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复