HTML

 
<!-- KE图片上传 -->
<link rel="stylesheet" href="__PUBLIC__/kindeditor/themes/default/default.css" />
<script src="__PUBLIC__/kindeditor/kindeditor-min.js"></script>
<script src="__PUBLIC__/kindeditor/lang/zh_CN.js"></script>
<script>
KindEditor.ready(function(K) {
window.editor = K.create('#editor_id',{
items:['source',  'preview','|', 'formatblock','fontsize','forecolor','|','bold','italic','underline','hr','|','link','unlink','|','multiimage','|','clearhtml'],  //自定义编辑器的功能按钮
allowFileManager : true,
urlType : 'absolute',  //将文件上传路径设置为绝对路径,这样下面的uploadJson的路径才正确
uploadJson:"<{:U('Product/upload')}>",  //设置文件上传提交的控制器
imageSizeLimit:'1MB',  //设置单文件上传大小限制,最好和后台同步
imageUploadLimit:'50', //设置图片上传最大张数,默认为20
extraFileUploadParams: {  //自定义提交参数,防止flash上传使用FF导致的session丢失
sid : '<{:session_id()}>',  //自定义传入sessionid,username,uid等,POST方式
sname : '<{:session("username")}>',
suid : '<{:session("uid")}>'
}
});
});
</script>//编辑器生成
<td colspan="2"><textarea id="editor_id" name="content" style="width:1000px;height:400px;"></textarea></td>
 

PHP

//公共控制器,用来验证是否登录等
class CommonController extends Controller{
public function _initialize(){
//此处为解决Uploadify,kindeditor等flash上传在火狐下上传失败,重新设置SESSION
if ($_POST['sid']) {  //接收自定义传入的内容,然后手动写入session
session_id($_POST['sid']);
session_start();
session('username',$_POST['sname']);  //手动写入session的username,否则下面的判断通不过,则由于没登录导致上传失败
session('id',$_POST['suid']);
}
if(!$_SESSION['username']){
$this->redirect('Login/index');
}
}
}//kindeditor图片上传处理
public function upload(){
$config = array(
'maxSize'           =>  1000000, //上传文件的最大值
'exts'         =>  array('jpeg','jpg','png','gif'), //允许上传的文件后缀 留空不作后缀检查
'autoSub'           =>  true, // 启用子目录保存文件
'subName'           =>  array('date','Ymd'), // 子目录创建方式 可以使用hash date custom
'rootPath'          =>  './Upload/img/', //保存根路径
'savePath'          =>  '', //上传文件保存路径
);
$upload = new \Think\Upload($config);
$info=$upload->upload();
if($info){
$img=__ROOT__.'/Upload/img/'.$info['imgFile']['savepath'].$info['imgFile']['savename'];  //组合成正确的路径
echo json_encode(array('error' => 0, 'url' => $img));   //按要求返回对应的参数
}else{ //如果上传失败,则输出错误信息
echo json_encode(array('error' => 1, 'message' =>$upload->getError()));
}
}
注:kindeditor发布内容,里面的HTML标签会被htmlspecialchars()转码,因此,在取出内容的时候需要使用htmlspecialchars_decode()将HTML标签转回来

TP3.2整合kindeditor的更多相关文章

  1. 在DWZ框架中整合kindeditor复文本框控件

    今天上午在DWZ框架中整合kindeditor复文本框控件,发现上传图片是老是提示 “上传中,请稍候...”,上网查看别人说可能是文件路径问题,在想以前在其他项目中用这个控件一直没问题,到这里怎么会出 ...

  2. fineui整合kindeditor的例子

    如果看不清: http://fineui.com/bbs/forum.php?mod=viewthread&tid=6683   注意:高于fineui v4.2.0的版本kindeditor ...

  3. TP3.2整合uplodify文件上传

    HTML中:<style>#img_upload-queue{width:120px;float:left;} /*uploadify的上传进度条样式,前面的img_upload是根据上传 ...

  4. Spring+SpringMVC+MyBatis+easyUI整合进阶篇(十五)阶段总结

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 一 每个阶段在结尾时都会有一个阶段总结,在<SSM整合基础篇& ...

  5. Spring+SpringMVC+MyBatis整合(easyUI、AdminLte3)

    实战篇(付费教程) 花了几天的时间,做了一个网站小 Demo,最终效果也与此网站类似.以下是这次实战项目的 Demo 演示. 登录页: 富文本编辑页: 图片上传: 退出登录: SSM 搭建精美实用的管 ...

  6. (๑•̀ㅂ•́)و✧随笔总目录ヾ(≧▽≦*)o

    SSM整合进阶篇 日常手记 开源博客My Blog系列 短信接口攻击事件 读书笔记 SSM整合优化篇 SSM整合基础篇 SSM整合进阶篇 Spring+SpringMVC+MyBatis+easyUI ...

  7. DWZ与KindEditor编辑器的整合

    DWZ自带的编辑器是xheditor,可能很多人用不习惯.就像我,习惯用kindeditor了.现在就来说说如何整合dwz和kindeditor. 一.打开DWZ的中的dwz.ui.js,进行修改. ...

  8. easyUI整合富文本编辑器KindEditor详细教程(附源码)

    原因 在今年4月份的时候写过一篇关于easyui整合UEditor的文章Spring+SpringMVC+MyBatis+easyUI整合优化篇(六)easyUI与富文本编辑器UEditor整合,从那 ...

  9. Extjs4.2x与富文本框编辑器KindEditor的整合

    Extjs4本身的HtmlEditor编辑器,太鸡肋了,简单的html能够应付一下,稍加复杂的就无能为力了. 对于Extjs的HtmlEditor扩展主要有三个方向,一个是扩展其本身的htmlEdit ...

随机推荐

  1. OpenGL入门程序四:颜色模式

    1.OpenGL支持两种颜色模式: 1>RGBA颜色模式 ,用 glClearColor 指定清空屏幕后的颜色,即“空颜色” . 2>索引颜色模式,用 glClearIndex 指定清空屏 ...

  2. LeetCode--058--最后一个单词的长度

    问题描述 给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度. 如果不存在最后一个单词,请返回 0 . 说明:一个单词是指由字母组成,但不包含任何空格的字符串. 示例: 输入: ...

  3. Maven部署web应用到远程服务器

    Maven部署web应用到远程服务器 找到了一个很详细的地址:http://www.mkyong.com/maven/how-to-deploy-maven-based-war-file-to-tom ...

  4. android--------微信 Tinker 热修复 (二)

    前面简单介绍了一下Tinker热修复,今天就来分享一下如何在Android中使用,希望对各位有帮助. 1:Tinker 接入指南 在项目的build.gradle中,添加tinker-patch-gr ...

  5. Objections vs. excuses

    Objections are healthy. When someone is being offered a new opportunity or product, it's not unusual ...

  6. Confluence 6 结构(Schema )设置

    基本 DN(Base DN) 根专有名称(DN)将会在你在目录服务器上运行查询的时候使用到.例如: o=example,c=com cn=users,dc=ad,dc=example,dc=com 针 ...

  7. 在centos7上安装gcc、node.js(源码下载)

    一.在centos7中安装node.js https://www.cnblogs.com/lpbottle/p/7733397.html 1.从源码下载Nodejs cd /usr/local/src ...

  8. 河南省第十一届ACM大学生程序设计竞赛

    nyoj-1365-山区修路 内存限制:128MB 时间限制:3000ms 特判: No通过数:4 提交数:4 难度:3 题目描述: SNJ位于HB省西部一片群峰耸立的高大山地,横亘于A江.B水之间, ...

  9. UVA-11490 Just Another Problem

    题目大意:一个由p*q个点组成的pxq点阵(构成一个矩形).从内层点中拿走两块正方形上的所有点,这两块正方形要边长相等,在位置上关于中线对称,并且还要使每一个正方形的上下左右剩余的点的层数相等.现在告 ...

  10. python 小练习 10

    给你一个十进制数a,将它转换成b进制数,如果b>10,用大写字母表示(10用A表示,等等) a为32位整数,2 <= b <= 16 如a=3,b = 2, 则输出11 AC: di ...