在使用Dedecms CMS时,将百度编辑器(Ueditor)整合到系统中后,可能会遇到图片没有水印的问题。本文将详细介绍如何解决这一问题,并确保远程抓取和本地上传的图片都能正确添加水印。
首先,我们来解决Ueditor抓取远程图片加水印的问题。
打开getRemoteImage.php文件,在“//远程抓取图片配置”上方添加以下代码:
require_once('../../../dede/config.php'); // dede为你的后台目录
require_once(DEDEADMIN . "/inc/inc_archives_functions.php");
接下来,继续修改getRemoteImage.php文件。找到fwrite( $fp2 , $img );这一行,在其下方添加如下代码:
@WaterImg($tmpName, 'down');
最后,为了防止冲突,请将所有getRemoteImage替换为getRemoteImageUe。
接下来是Ueditor上传图片加水印的方法。
打开imageUp.php文件,找到include "Uploader.class.php";这一行,在其上方添加以下代码:
require_once('../../../dede/config.php'); // dede为你的后台目录
require_once(DEDEADMIN . "/inc/inc_archives_functions.php");
然后,在echo "{'url':'这一行上方,添加以下代码:
@WaterImg($info["url"], 'down');
通过上述步骤,您可以确保无论是远程抓取还是本地上传的图片,都可以正确应用Dedecms的水印功能。
关于水印的进一步说明:
本文介绍的方法实际上是引用了Dedecms自带的文档处理函数。如果您希望自定义水印效果,例如调整水印位置或样式,可以自己编写一个水印程序并集成到上述代码中。不过需要注意的是,这样做可能会导致Dedecms后台无法直接控制水印设置。
以上就是解决Dedecms整合Ueditor后图片无水印问题的完整方法。希望对您有所帮助!
注意:在实际操作前,请务必备份相关文件,以防万一出现问题可以快速恢复。