全站搜索

PHP引入kindeditor富文本编辑器

网站开发 466

运行的框架thinkphp3.2

Kindeditor版本4.1.1.1

可以在官网下载最新版本

Kindeditor 是一个功能比较全面的所见即所得富文本编辑器,比较稳定。

缺点:官网不再更新

批量上传图片需要用到flash插件,在手机端兼容不是很好

下面我们看一下怎么引入Kindeditor编辑器

1.新建一个Kindeditor.html 文件 下面是前端代码:

<style type=”text/css”>

.ke-dialog{

    top: 120px !important;

}

</style>

<textarea id=”[id]” name=”[id]” class=”form-control kindeditor” style=”height:400px;width:100%;”>[value]</textarea>


<!–编辑器Kineditor–>

<script src=”__LIB__/kindeditor/kindeditor.js”></script>

<script>

    var editor;

    KindEditor.ready(function(K) {

        editor = K.create(‘textarea[name=”[id]”]’, {

            basePath: ‘__LIB__/kindeditor/’,

            bodyClass: ‘article-content’,

            uploadJson : “{:U(‘Upload/kingeditorupload’)}”,//文件提交地址

            allowFileManager : false,

            afterBlur:function(){this.sync();},

            pasteType : 1,

            urlType:’domain’,

            filterMode:false,

            newlineTag :’p’

        });

    });

</script>

 

2. 在其他页面引入Kindeditor编辑器 include 是thinkphp3.2 中的前端引入模块的方法

    
<!– 加载编辑器的容器 –>

<include file=”Public/kindeditor” id=”detail” value=”{$model[‘detail’]}” />

 

  • 后台接受文件

 
/**


     * keditor编辑器上传图片处理


     */

    public function kingeditorupload() {

        $return = array(‘error’ => 0, ‘info’ => ‘上传成功’, ‘data’ => ”);

        session(‘upload_error’, null);

        
//上传配置

        $setting = array(

            ‘mimes’ => ”, 
//允许上传的文件MiMe类型

            ‘maxSize’ => 0, 
//上传的文件大小限制 (0-不做限制)

            ‘exts’ => ‘jpg,gif,png,jpeg,zip,rar,pdf,word,xls’, 
//允许上传的文件后缀

            ‘autoSub’ => true, 
//自动子目录保存文件

            ‘subName’ => array(‘date’, ‘Y-m-d’), 
//子目录创建方式,[0]-函数名,[1]-参数,多个参数使用数组

            ‘rootPath’ => ‘.’, 
//保存根路径这里必须为点

            ‘savePath’ => ‘/Uploads/detail/’, 
//保存路径

            ‘saveName’ => array(‘uniqid’, ”), 
//上传文件命名规则,[0]-函数名,[1]-参数,多个参数使用数组

            ‘saveExt’ => ”, 
//文件保存后缀,空则使用原后缀

            ‘replace’ => false, 
//存在同名是否覆盖

            ‘hash’ => true, 
//是否生成hash编码

            ‘callback’ => false, 
//检测文件是否存在回调函数,如果存在返回文件信息数组

        );

        
//上传文件

        $Model = D(‘Upload’, ‘Service’);

        foreach ($setting as $k => $v) {

            $Model->setconfig($k, $v);

        }

        $info = $Model->upload(‘all’);

        if ($info) {

            $url = $setting[‘rootPath’] . $info[‘imgFile’][‘savepath’] . $info[‘imgFile’][‘savename’];

            
//判断是否为图片根据传值决定是否生成缩略图

if (I(‘get.dir’) && I(‘get.thumbw’) && I(‘get.thumbh’) && in_array($info[‘imgFile’][‘ext’], array(‘jpg’, ‘gif’, ‘png’, ‘jpeg’))) {

                $url = $Model->thumb($info[‘imgFile’], I(‘get.thumbw’), I(‘get.thumbh’));

            }

            $url = str_replace(‘./’, ‘/’, $url);

            $info[‘fullpath’] =  . $url;

        }

        session(‘upload_error’, $Model->getError());

        
//返回数据

        if ($info) {

            $return[‘url’] = $info[‘fullpath’];

            unset($return[‘info’], $return[‘data’]);

        } else {

            $return[‘error’] = 1;

            $return[‘message’] = session(‘upload_error’);

        }

        
//返回JSON数据

        exit(json_encode($return));

    }

      

 

  • 上传图片查看是否能上传成功:









查看源码 图片已经上传到了程序目录,引入成功。


上一篇: 下一篇:

相关推荐

  • 视觉冲击之网页首屏设计

    342

    一个网站,点击打开之后最先呈现的第一屏是头部区域。这个区域呈现给浏览者的是这个网站是做什么的,卖什么产品,提供什么服务等重要信息。这一屏确认了网站的基调,在整个网页中起到的引导和承上启下的作用。如果第一屏做的有吸引力、高端大气,那么给浏览者的感官...

    查看全文
  • 货运管理系统需要具备什么功能?

    343

    一、基础数据管理1、用户管理:信息录入:公司名称、登入名、密码。 2、来往单位管理:公司名称、公司简称、公司地址、公司类型(自有公司、客户、卡车公司、快递公司、仓库、)助记码、国家选择。 3、权限管理: a.账号管理:员工账号和客户账号管理添加账号、删...

    查看全文
  • 从“我为政府网站找错”看大型网站建站测试

    372

    错误,会消损权威性。大量的频繁的错误,会持续消损权威性。 政府网站需要具备权威性。包括颜色、布局、字体、打开速度、标识、内容,都可以促进一个网站的权威性。 不过,政府网站由于构架复杂、站群众多、协调难度大,不可避免会出现很多的错误。为此,我国的政...

    查看全文
  • 又是一年双11,淘系平台与微信之间的“互通”更近一步?

    339

    互联网平台之间的“互联互通”进展如何?在今年双11大促前,阿里系与腾讯系产品之间似乎释放出了一些“互通”信号,只是在某种程度上,这次的“互通”动作更多是由阿里系产品发出。如何理解这些举措?我们又可以如何理解目前的流量生态?本文作者发表了他的看法,一起来看...

    查看全文
展开更多