今天分享一下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

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

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

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

    百度编辑器本身是没有为上传图片加入水印的功能,想要在上传的时候加入图片水印,也非常easy.以 ueditor 1.2.6 为例.打开php文件夹以下的imageUp.php文件,查找"$i ...

  2. ueditor编辑器多图上传为什么顺序打乱了

    我上一个版本用的是ueditor1.3.6,自从1.4.2版以后,“前端上传模块统一改用webuploader”,ueditor在多图上传一直考虑漏掉了图片顺序的问题. 我的网站在用户上传图片文章的时 ...

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

    来源:https://www.cnblogs.com/lhm166/articles/6079973.html 说到百度富文本编辑器ueditor(下面简称ue),我不得不给它一个大大的赞.我们在网站 ...

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

    1 <script type="text/plain" id="upload_ue"></script> 2 <script ty ...

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

    出于兴趣爱好,前段时间自己尝试写了一个叫simple的cms,里面使用了百度ueditor编辑器,发现它的多图片上传模块很不错,用起来很方便,又可以选择已经上传好的图片.正好我又是个懒人,发现有现成的 ...

  6. struts2整合CKEditor和CKFinder实现上传

    上一篇文章给大家分享了CKEditor+CKFinder+JSP实现了在线编辑器上传图片的功能,这里在给大家分享一下如何在前面的基础上在struts2下实现这样的功能. 实现与Struts2的整合,整 ...

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

    最近笔者做了一个新闻发布平台,放弃了之前的FCKEditor编辑器,使用了CKEditor+CKFinder,虽然免费的CKFinder是Demo版本,但是功能完整,而且用户都是比较集中精神发新闻的人 ...

  8. SpringBoot整合阿里云OSS文件上传、下载、查看、删除

    1. 开发前准备 1.1 前置知识 java基础以及SpringBoot简单基础知识即可. 1.2 环境参数 开发工具:IDEA 基础环境:Maven+JDK8 所用技术:SpringBoot.lom ...

  9. thinkphp文件上传以及图片处理

    文件上传 上传表单 在ThinkPHP中使用上传功能无需进行特别处理.例如,下面是一个带有附件上传的表单提交: <form action="__URL__/upload" e ...

随机推荐

  1. Hibernate 系列 07 - Hibernate中Java对象的三种状态

    引导目录: Hibernate 系列教程 目录 1. Java对象的三种状态 当应用通过调用Hibernate API与框架发生交互时,需要从持久化的角度关注应用对象的生命周期. 持久化声明周期是Hi ...

  2. v$session中server为none与shared值解析

    查询V$SESSION,你会看到SERVER可能会有DEDICATED| SHARED| PSEUDO| NONE 四种值,如果SERVER字段的值除了DEDICATED,还有NONE,则说明当前实例 ...

  3. postgres创建表的过程以及部分源码分析

    背景:修改pg内核,在创建表时,表名不能和当前的用户名同名. 首先我们知道DefineRelation此函数是最终创建表结构的函数,最主要的参数是CreateStmt这个结构,该结构如下 typede ...

  4. shell脚本实现算术运算且输入的不能为非数字的值

    #!/bin/bash c= ] do echo "请输入第一个数" read a echo "请输入第二个数" read b ]* ]] && ...

  5. RSA算法原理

    一直以来对linux中的ssh认证.SSL.TLS这些安全认证似懂非懂的.看到阮一峰博客中对RSA算法的原理做了非常详细的解释,看完之后茅塞顿开,关于RSA的相关文章如下 RSA算法原理(一) RSA ...

  6. Windows批处理:自动部署常用软件(静默安装)

    一.简介 最近一直在测试使用域组策略自动部署软件,效果并不理想.首先,主机必须加入域才能让策略生效.其实是Windows Server 2012 R2只支持.msi格式的安装包,所以部署前需将软件重新 ...

  7. ajax 同步和异步

    ajax请求中同步是要等待请求结果返回后才能继续执行,而异步请求则不需要等待返回结果,可以直接进行后面语句.

  8. [转]Asp.Net Core 简单的使用加密的Cookie保存用户状态

    本文转自:http://www.cnblogs.com/Joes/p/6023820.html 在以前的Asp.Net中可以用 FormsAuthentication 类的一系列方法来使用加密的Coo ...

  9. 算法是什么我记不住,But i do it my way. (二)

    昨天做了一道算法题给大家分享了下我的解法,有给出建设性意见的,有支持的还有看得一知半解的.自己想了想的确有可以优化的地方,贴出优化方案.原题和解答过程在这里http://www.cnblogs.com ...

  10. flex自适应高度内容高度超出容器高度自动出现滚动条的问题

    在容器中设置 flex-grow:2; overflow-y:auto;overflow-x:hidden;容器高度自适应. 内容高度不固定,无法出现滚动条,然后在容器中添加height:0,出现滚动 ...