全站搜索

PHP引入kindeditor富文本编辑器

网站开发 405

运行的框架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));

    }

      

 

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









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


上一篇: 下一篇:

相关推荐

  • 后疫情时代 那些行业、企业需要建站?

    287

    疫情,在催生一个新的商业时代。 在这个时代,商业逻辑出现了改变,如曾经风光无限的教育培训,一夜摧拉枯朽。曾经门庭若市的餐厅餐饮,可能明天因为疫情需要关门歇业。 这是一个更加不确定的时代。在这样一个时代背景下,我们来讨论,那些行业、企业需要做网站? ...

    查看全文
  • 网站前端制作-不定高度的元素实现transition动画

    354

    在网站页面的制作中,不少效果是由transition实现过渡动画做成的。最近的工作,需要做一个div的hover效果,hover的时候文字内容自适应高度即是height: 70px(固定高度)变化到height: auto; 从下往上产生一个过渡动画,过程中由中间圆形遮罩中间扩散到消失,显示底图...

    查看全文
  • 企业废弃网站之后 建站公司怎么办?

    253

    很多企业的官网都选择了外包给建站公司,而不是自己建设。 建站公司经常会发现这样一种现象——自己客户的网站已经被废弃了。所谓的废弃包括网站无人维护、域名停用、网站关闭等等。如果遇到了客户的网站被废弃,建站公司应该怎么办呢?企业为何要废弃官网?根据我们...

    查看全文
展开更多