如何为fckeditor 上传图片添加水印功能

如题,现在我的fck是低版本,我只是想加入水印功能,请问如何实现... 如题,现在我的fck是低版本,我只是想加入水印功能 ,请问如何实现 展开
 我来答
匿名用户
2013-06-24
展开全部
第一文件修改,editor\dialog\fck_image.html,找到目录下的这个文件找到<span fckLang="DlgLnkUpload">Upload</span>

其后加入

<input type="checkbox" name="C1" value="ON"><span fckLang="DlgLnkUploadwm">WaterMark</span>
<input type="radio" value="V1" checked name="R1"><span fckLang="DlgLnkUploadwmtext">Text</span>
<input type="text" name="T1" size="20">
<input type="radio" value="V2" name="R1"><span fckLang="DlgLnkUploadwmpic">Picture</span>
第二文件修改,editor\filemanager\browser\default\frmupload.html,找到目录下这个文件找到document.getElementById('eUploadMessage').innerHTML = 'Upload a new file in this folder' ;

换成

document.getElementById('eUploadMessage').innerHTML = 'Upload' ;

找到<span id="eUploadMessage">Upload a new file in this folder</span><br>

换成

<span id="eUploadMessage">Upload</span>
<input type="checkbox" name="C1" value="ON">WaterMark
<input type="radio" value="V1" checked name="R1">Text
<input type="text" name="T1" size="20">
<input type="radio" value="V2" name="R1">Picture
<br>第三文件修改处,editor\filemanager\browser\default\connectors\php\commands.php,找到这个文件找到
break ;
}
}
在其后加入,这里有两处,查找的时候要到最后一处的后面加入以下代码

if($_POST['C1']=="ON")
{
$watermark=1; //是否附加水印(1为加水印,其他为不加水印);
}
else
{
$watermark=2;
}

if($_POST['R1']=="V1")
{
$watertype=1; //水印类型(1为文字,2为图片)
}
else
{
$watertype=2;
}

if($_POST['T1']=="")
{
$waterstring= http://php.tmacn.cn; //水印字符串
}
else
{
$waterstring=$_POST['T1'];
}

$waterimg="lady.png"; //水印图片

if($watermark==1)
{
$image_size = getimagesize($sFilePath);
$iinfo=getimagesize($sFilePath,$iinfo);
$nimage=imagecreatetruecolor($image_size[0],$image_size[1]);
$white=imagecolorallocate($nimage,255,255,255);
$black=imagecolorallocate($nimage,0,0,0);
$red=imagecolorallocate($nimage,255,0,0);
imagefill($nimage,0,0,$white);
switch ($iinfo[2])
{
case 1:
$simage =imagecreatefromgif($sFilePath);
break;
case 2:
$simage =imagecreatefromjpeg($sFilePath);
break;
case 3:
$simage =imagecreatefrompng($sFilePath);
break;
// case 6:
// $simage =imagecreatefromwbmp($sFilePath);
// break;
default:
die("不支持的文件类型");
exit;
}

imagecopy($nimage,$simage,0,0,0,0,$image_size[0],$image_size[1]);

switch($watertype)
{
case 1: //加水印字符串
imagestring($nimage,2,3,$image_size[1]-15,$waterstring,$black);
break;
case 2: //加水印图片
$simage1 =imagecreatefrompng($waterimg);
imagecopy($nimage,$simage1,10,10,0,0,163,50);
imagedestroy($simage1);
break;
}

switch ($iinfo[2])
{
case 1:
imagegif($nimage, $sFilePath);
// imagejpeg($nimage, $sFilePath);
break;
case 2:
imagejpeg($nimage, $sFilePath);
break;
case 3:
imagepng($nimage, $sFilePath);
break;
// case 6:
// imagewbmp($nimage, $sFilePath);
// //imagejpeg($nimage, $sFilePath);
// break;
}

//覆盖原上传文件
imagedestroy($nimage);
imagedestroy($simage);
}

将lady.png水印文件COPY到这个目录
这个图片文件到时改成自己的水印第四个修改的文件:editor\lang\en.js,找到这个文件找到

DlgLnkBtnUpload : "Send it to the Server",

其后加入

DlgLnkUploadwm : "WaterMark",
DlgLnkUploadwmtext : "Text",
DlgLnkUploadwmpic : "Picture",第五个修改的文件:editor\lang\zh-cn.js,找到这个文件找到DlgLnkBtnUpload : "发送到服务器上",其后加入

DlgLnkUploadwm : "是否加水印",
DlgLnkUploadwmtext : "文本",
DlgLnkUploadwmpic : "图片",第四和每五个文件是语言包文件,我只修改英文和简体中文,其它全清了,没怎么会用到,如果大家用其它语言,可以作相应的修改
糖糖寳寳
推荐于2016-11-07 · TA获得超过6.4万个赞
知道大有可为答主
回答量:1.8万
采纳率:92%
帮助的人:3938万
展开全部
默认Fckeditor图片上传路径结构有两种形式:userfiles/文件名和userfiles/文件类型/文件名,针对两种Fckeditor上传方式:快速上传(图像属性中的上传)和服务器游览上传(图像属性中的链接),比如上传图片,QuickUpload模式上传路径为userfiles/文件名,服务器游览上传模式上传路径为userfiles/images/文件名。
Fckeditor图片上传路径配置如下
打开editor/filemanager/connectors/php目录下config.php文件,找到
$Config['UserFilesPath'] = '/userfiles/' ;
更改为
$Config['UserFilesPath'] = '/项目目录/userfiles/' ;
注意:此处userfiles文件夹是针对http://localhost/的根目录而言的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式