thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印

今天分享一下thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印。博主是新手,在这里卡住了很久(>_<)

thinkphp 3.2.3整合ueditor 1.4 下载地址:https://github.com/Nintendov/Ueditor-thinkphp

下载下来,看着配置就可以了。

下面就是给上传图片加水印: (在做这步前,请确保ueditor已经正常工作)

我的工程目录如下:

fonts里面的fz.fft为水印字体

images里面的logo.png为水印图片

上传的图片储存在 Upload/lmage文件夹里

下面添加水印的时候需要用到这些文件的路径。

下面,打开Ueditor.class.php 类  文件在ThinkPHP -> Library -> Org-> Util 里面,就是你导入的Ueditor.class.php类文件

定位到这个方法:

主要在红框里面添加几行代码,  它这里是直接返回上传的文件,我们要在这里添加水印再让它返回。

修改代码如下:

/**
     * 上传文件方法
     *
     */
    private function uploadFile($config,$fieldName){

        $upload = new \Think\Upload();
        $upload->maxSize   =     $config[‘maxSize‘] ;// 设置附件上传大小
        $upload->exts      =     $this->format_exts($config[‘allowFiles‘]);// 设置附件上传类型
        $upload->rootPath  =     ‘.‘.$this->rootpath; // 设置附件上传根目录
        $upload->autoSub = false;
        $upload->savePath  =     $this->getFullPath($config[‘pathFormat‘]); // 设置附件上传(子)目录
        $info=$upload->uploadOne($_FILES[$fieldName]);
        $rootpath = $this->rootpath;

        if(!$info){
            $data = array(
                "state"=>$upload -> getError(),
            );
        }else{

            //-----------------这里是新加的处理水印的代码 begin------------------------//
            $path  = ‘./‘.$rootpath.$info[‘savepath‘].$info[‘savename‘];
            $image = new \Think\Image();

            //添加文字水印
            $image->open($path)->text(‘ThinkPHP‘,‘./Public/fonts/fz.TTF‘,20,‘#ff0000‘,\Think\Image::IMAGE_WATER_SOUTHEAST)->save($path); 

            //添加图片水印
            //$image->open($path)->water(‘./Public/images/logo.png‘,\Think\Image::IMAGE_WATER_NORTHWEST)->save($path);

            //--------------------------------end----------------------------//

            $data = array(
                ‘state‘=>"SUCCESS",
                ‘url‘=>\Vin\FileStorage::getPath($rootpath,$info[‘savepath‘].$info[‘savename‘]),
                ‘title‘=>$info[‘savename‘],
                ‘original‘=>$info[‘name‘],
                ‘type‘=>‘.‘ . $info[‘ext‘],
                ‘size‘=>$info[‘size‘],
            );
        }
        return json_encode($data);
    }

就添加这么4行代码,原来的代码没有修改。

完成如下:

遇到的问题:不存在的图像文件

这是由于文件的地址获取有误造成的,我也在这里弄的很久,上面的$path 获取路径前面要加" ./ " 才能正常访问。(别问我为什么~)

ueditor 上传图片按钮点击有几秒的延迟问题,已经有大神解决这个问题了

http://www.cnblogs.com/liangjiang/p/5799984.html

完成,博主亲测可用~     (>_<)

时间: 2024-12-28 09:00:24

thinkphp 3.2.3整合ueditor 1.4,给上传的图片加水印的相关文章

百度编辑器ueditor给上传的图片加入水印

百度编辑器本身是没有为上传图片加入水印的功能,想要在上传的时候加入图片水印,也非常easy.以 ueditor 1.2.6 为例.打开php文件夹以下的imageUp.php文件,查找"$info = $up->getFileInfo();",在这句代码的以下加入以下代码: /* 加入水印 start */ $water_img = "watermark.png"; //水印文件(替这里换成你要的水印) $img_min_w = 350; //加入水印须要图片

百度编辑器ueditor给上传的图片添加水印

百度编辑器本身是没有为上传图片添加水印的功能,想要在上传的时候添加图片水印,也很简单.以 ueditor 1.2.6 为例,打开php目录下面的imageUp.php文件,查找"$info = $up->getFileInfo();",在这句代码的下面加入以下代码: /* 添加水印 start */ $water_img = "watermark.png"; //水印文件(替这里换成你要的水印) $img_min_w = 350; //添加水印需要图片最小达到

Ueditor 单独使用上传图片及上传附件方法

1 <script type="text/plain" id="upload_ue"></script> 2 <script type="text/javascript"> //重新实例化一个编辑器,防止在上面的editor编辑器中显示上传的图片或者文件 var _editor = UE.getEditor('upload_ue'); _editor.ready(function () { //设置编辑器不可用

UEditor调用上传图片、上传文件等模块

来源:https://www.cnblogs.com/lhm166/articles/6079973.html 说到百度富文本编辑器ueditor(下面简称ue),我不得不给它一个大大的赞.我们在网站建设.前端开发时,网站的内容管理就使用了它.对于它的多图片上传和附件上传,个人感觉很好用,我就琢磨着是否可以外部调用多图上传和附件上传组件为自己所用,并封装成一个插件,节省单独开发的成本. 有了这个想法后,着手操作,理下实现思路,得出实现的关键在于监听这两个组件在编辑器里的插入动作.打开源码,苦心研

jsp中如何整合CKEditor+CKFinder实现文件上传

最近笔者做了一个新闻发布平台,放弃了之前的FCKEditor编辑器,使用了CKEditor+CKFinder,虽然免费的CKFinder是Demo版本,但是功能完整,而且用户都是比较集中精神发新闻的人,不会在意这个.笔者使用的版本分别是:CKEditor3.5.3+CKFinder2.0.2,今天笔者整理了一下配置CKEditor和CKFinder的过程,以及需要注意的一些问题,希望对大家有所帮助. 第一:下载CKEditor和CKFinder相关的安装文件 1.在CKEditor官网http:

教你如何调用百度编辑器ueditor的上传图片、上传文件等模块

出于兴趣爱好,前段时间自己尝试写了一个叫simple的cms,里面使用了百度ueditor编辑器,发现它的多图片上传模块很不错,用起来很方便,又可以选择已经上传好的图片.正好我又是个懒人,发现有现成的自己就不想新开发了.于是我就想,是不是可以调用这个上传模板为自己所用呢? 有了这个想法后,我就到网上查阅资料,可惜资料少的可怜,都不能很好解决我的问题.于是觉得还是自己动手丰衣足食,皇天不负苦心人,终于摸索出解决方法,现在分享出来,和自己有同样想法的小伙伴. 代码如下: <html> <he

使用ThinkPHP上传类处理KindEditor上传的图片

KindEditor作为一款可视化的HTML编辑器用起来确实比较方便,其本身也自带了图片上传的处理这里修改为TP上传处理图片,是为了保证上传图片的方便(目录独立于编辑器,便于增加水印等处理) 第一步:在模板html页面引入如下文件: <link rel="stylesheet" href="/data/editor/plugins/code/prettify.css" /> <script charset="utf-8" src

struts2整合CKEditor和CKFinder实现上传

上一篇文章给大家分享了CKEditor+CKFinder+JSP实现了在线编辑器上传图片的功能,这里在给大家分享一下如何在前面的基础上在struts2下实现这样的功能. 实现与Struts2的整合,整合的过程确实easy.不过实现之后,图片上传不上去,上传之后显示“文件不存在”,然后在网上找了一些资料,经过总结最终实现了这个功能.此问题的原因就是struts2的拦截器,在web.xml中,可以清楚的看到: [html] view plain copy <filter-mapping> <

UEditor中多图上传的bug

多图上传 预览:支持浏览器版本  IE8以上 在线管理:由于存在bug,显示不了 ueditor-1.1.1.jar解压后找到FileManager 1.修改com.baidu.ueditor.hunter.FileManager类下的一个方法,修改如下: 源代码: private String getPath ( File file ) { String path = file.getAbsolutePath(); return path.replace( this.rootPath, "/&