zoukankan      html  css  js  c++  java
  • keditor_php图片上传

     <script type="text/javascript" src="/statics/js/kindeditor/kindeditor-min.js"></script>
      <script type="text/javascript" src="/statics/js/kindeditor/zh_CN.js"></script>
      <script type="text/javascript" src="/statics/js/uploadify/jquery.uploadify.min.js"></script>
      <script type="text/javascript" src="/statics/js/kindeditor/default/default.css"></script>
      <script charset="utf-8" src="/statics/js/kindeditor/plugins/code/prettify.js"></script>
      <link rel="stylesheet" href="/statics/js/kindeditor/plugins/code/prettify.css" />

    html:

    <div class="form-group">
                                <label class="col-md-2 control-label">文章内容:</label>
                               <div class="col-md-9">
                                    (分页符为:
                                    <span style="color: red">#p#分页-标题#e#)</span>
                                    <span>
                                    <label>
                                    <input id="autolitpic" type="checkbox">
                                    提取第一个图片为缩略图
                                    </label>
                                    (
                                    <a class="qximg" href="javascript:void();">[取消缩略图]</a>
                                    )
                                    </span>
                                <span style="color: red">*</span>
                                <div class="onShow" id="dr_content_tips">必填项,可无限输入,没有字数限制.</div>
                                  <label class="textarea"><textarea name="content" id="content" class="content" onblur="content_validate()">{$info.content|default=''}</textarea>
                                    <input type="hidden" name="parse" value="0"> <script
                                        type="text/javascript">
                                        var editor_content1;
                                        KindEditor.ready(function(K) {
                                            editor_content1 = K.create('textarea[name="content"]', {
                                                allowFileManager : false,
                                                themesPath: K.basePath,
                                                 '900px',
                                                height: '700px',
                                                resizeType: 1,
                                                pasteType : 2,
                                                urlType : 'absolute',
                                                cssPath : '/statics/js/kindeditor/plugins/code/prettify.css',
                                                uploadJson : '{:U('ke_upimg')}',
                                                afterCreate : function() {
                                                    this.sync();
                                                      },
                                                afterBlur:function(){
                                                     this.sync();
                                                   }   
                                            });
                                            prettyPrint();
                                        });    
                                        </script>
                                </label>
                            </div>
                            </div>   

    //后台代码

    //keditor编辑器上传图片处理
        public function ke_upimg(){
            /* 返回标准数据 */
            $return  = array('error' => 0, 'info' => '上传成功', 'data' => '');
            $img = $this->upload();
            /* 记录附件信息 */
            if($img){
                $return['url'] = $img['fullpath'];
                unset($return['info'], $return['data']);
            } else {
                $return['error'] = 1;
                $return['message']  = session('upload_error');
            }
        
            /* 返回JSON数据 */
            exit(json_encode($return));
        }
        
        
            /* 上传图片 */
        public function upload(){
            session('upload_error', null);
            /* 上传配置 */
            $setting = C('EDITOR_UPLOAD');
        
            /* 调用文件上传组件上传文件 */        
            $config = array(
                'maxSize' => 3145728,
                'savePath' => './news/',
                'saveName' => array('uniqid',''),
                'exts' => array('jpg', 'gif', 'png', 'jpeg'),
                'autoSub' => true,
                'subName' => array('date','Ymd'),
            );
            $this->uploader = new ThinkUpload($config, 'Local');
            $info = $this->uploader->upload($_FILES);
            //Log::write(print_r($info));
            if($info){
                $url = '/Uploads'.$info['imgFile']['savepath'].$info['imgFile']['savename'];
                $url = str_replace('./', '/', $url);
                $info['fullpath'] = __ROOT__.$url;
            }
            
            session('upload_error', $this->uploader->getError());
            
            return $info;
        }
        
        /**
         * 上传图片
         */
        public function uploadPicture(){
            //TODO: 用户登录检测
            /* 返回标准数据 */
            $return  = array('status' => 1, 'info' => '上传成功', 'data' => '');
            
            $config = array(
                    'maxSize' => 3145728,
                    'savePath' => './news/',
                    'saveName' => array('uniqid',''),
                    'exts' => array('jpg', 'gif', 'png', 'jpeg'),
                    'autoSub' => true,
                    'subName' => array('date','Ymd'),
            );
            $this->uploader = new ThinkUpload($config, 'Local');
            $info = $this->uploader->upload($_FILES);
            
            /* 记录图片信息 */
            if($info){
                $url = '/Uploads'.$info['download']['savepath'].$info['download']['savename'];
                $url = str_replace('./', '/', $url);
                $return['path'] = __ROOT__.$url;
                $return['id'] = 111;
                $return['status'] = 1;
                $return = array_merge($info['download'], $return);
            } else {
                $return['status'] = 0;
                $return['info']   = $this->uploader->getError();
            }

            /* 返回JSON数据 */
            $this->ajaxReturn($return);
        }

    js脚本,提取第一张图片:

    //获取第一张图片
    $('#autolitpic').click(function (){
        if($(this).attr('checked')){
            $(this).attr('checked',false);
        }else {
            $(this).attr('checked',true);
             var content=$('.content').val();
             if(content.match(/src="[^"]+"/g)==null){
                alert('文章内容没有图片');
                return;
              }else{
                   var strcount=content.match(/src="[^"]+"/g)[0].replace("src="","");
                   var val=strcount.substring(0,strcount.length-1).replace("http://cb2013.tdedu.org","");
                   $("#thumb_img").attr('src',val);
                   $("#img").val(val);
               }
            }
        });

    //取消缩略图
    $('.qximg').click(function (){
        $("#thumb_img").attr('src',"");
        $("#img").val("");
    });

  • 相关阅读:
    【转】常见经济类名词解释
    Linux parted命令详解
    【转】Linux下从TCP状态机,三次握手判断DDOS攻击
    【转】Java学习---HashMap和HashSet的内部工作机制
    【转】Redis学习---阿里云Redis多线程性能增强版详解
    改变自己,改变世界
    对话任正非两万字实录:最重要的是要沉着
    qt手写输入法资料
    Qt框架及模块认识
    哲学必读10本经典著作
  • 原文地址:https://www.cnblogs.com/Carri/p/5817467.html
Copyright © 2011-2022 走看看