今天分享一下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. CALayer基本介绍与常见属性

    属性框架:QuartzCore CA: CoreAnimation -> 核心动画,所有的核心动画都是添加给layer的! 与UIView的区别: 1.layer负责内容的展示,不接受任何用户交 ...

  2. Android无需申请权限拨打电话

    Android打电话有两种实现方法: 第一种方法,拨打电话跳转到拨号界面.源代码如下: Intent intent = new Intent(Intent.ACTION_DIAL); Uri data ...

  3. 人工智能AI-机器视觉CV-数据挖掘DM-机器学习ML-神经网络-[资料集合贴]

    说明:这个贴用于收集笔者能力范围内收集收藏并认为有用的资料,方便各方参考,免去到处找寻之苦,提升信息的交叉引用价值.仅供参考,不作为必然的推荐倾向.如涉及版权等问题请相关人员联系笔者,谢谢. |博客| ...

  4. Webform(六)——登录状态保持(Cookies内置对象)

    用户用浏览器访问一个网站,由于采用的http的特性,Web服务器并不能知道是哪一个用户正在访问,但一些网站,希望能够知道访问者的一些信息,例如是不是第一次访问,访问者上次访问时是否有未做完的工作,这次 ...

  5. Java中json的构造和解析

    什么是 Json? JSON(JvaScript Object Notation)(官网网站:http://www.json.org/)是 一种轻量级的数据交换格式.  易于人阅读和编写.同时也易于机 ...

  6. CentOS7 配置LAMP

    这两天要带新同事.没办法,只有现学现卖,又回到Linux的怀抱了.今晚想配置一下LAMP环境,但是之前用的6.6,今晚想闷声做大死,用一次7试试.网上找了很多教程,但是好像转载的都不负责任,有些到下一 ...

  7. Appium scroll 滑动查找

    首先看uiautomator如何实现滑动查找 UiScrollable scrollView = new UiScrollable(new UiSelector().className("a ...

  8. plain framework 商业版 开发总结1 updated

    每天对着不同的计划,多多少少有一种无形的压力.特别是对技术不好的我来说,过程中遇到的问题实在不少,时常纠结良久.时间慢慢流逝,最后虽然感觉有些不足,但是也不至于差强人意.商业版的PF核心已经升级到1. ...

  9. Winform进程、线程

    进程: 一般来说,一个程序就是一个进程,不过也有一个程序需要多个进程支持的情况. 进程要使用的类是:Process它在命名空间:System.Diagnostics; 1.静态方法Start(); 2 ...

  10. Coursera上一个不错的Java课

    地址:https://www.coursera.org/learn/java-chengxu-sheji/home/welcome 复习天昏地暗,看点视频调剂一下.发现这个讲的还是很不错的.北大毕竟比 ...