• TP3.2整合kindeditor


    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="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 ThinkUpload($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标签转回来
  • 相关阅读:
    python ConfigParser、shutil、subprocess、ElementTree模块简解
    python中getattr函数 hasattr函数
    对简历的一点看法
    信息过载下的时间管理
    沉默的QQ
    想把余生变诗篇
    你的薪水偏高了吗?
    写给三十五岁的自己
    传统企业对互联网的痴心妄想
    小二,换大碗!
  • 原文地址:https://www.cnblogs.com/3body/p/5416699.html
Copyright © 2020-2023  润新知