Tp3.2.3 整合 百度Ueditor1.4.3.3 图片上传功能

来源:互联网 发布:上海联通网络 编辑:程序博客网 时间:2024/06/11 18:33

 

首先现将百度Ueditor引入网页,修改要修改的配置,特别是serverUrl 如图修改成自己要调用的控制器方法。

特别强调, Ueditor  会与ThinkPHP的trace调试冲突,所以要关掉SHOW_PAGE_TRACE' =>false, 

调用ThinkPHP upload类重写上传方法

public function upload(){
       date_default_timezone_set("Asia/chongqing");
       error_reporting(E_ERROR);
       header("Content-Type: text/html; charset=utf-8");
       $CONFIG = json_decode(preg_replace("/\/\*[\s\S]+?\*\//", "", file_get_contents("./Data/Ueditor/php/config.json")), true);

      
       $action = $_GET['action'];
       
       if('uploadimage' == $action) { //上传图片
           //处理图片上传开始
           //实例化上传类
           $upload = new Upload();
           //配置
           $upload->subName = array('date', 'Ym');//子目录创建方式
           //上传
           $info = $upload->upload();
           //p($info);//上传信息
           if($info) {
               /**
                * 得到上传文件所对应的各个参数,数组结构
                * array(
                *     "state" => "",          //上传状态,上传成功时必须返回"SUCCESS"
                *     "url" => "",            //返回的地址
                *     "title" => "",          //新文件名
                *     "original" => "",       //原始文件名
                *     "type" => ""            //文件类型
                *     "size" => "",           //文件大小
                * )
                */
               $arr = array(
                   'state'=>'SUCCESS',
                   'url'=>__ROOT__ .'/Uploads/'.$info['upfile']['savepath'].$info['upfile']['savename'],
                   'title'=>$info['upfile']['savename'],
                   'original'=>$info['upfile']['name'],
                   'type'=>$info['upfile']['ext'],
                   'size'=>$info['upfile']['size']
               );


               
               /* 返回数据 */
               $result = json_encode($arr);
           } else {
               $arr = array('state'=>$upload->getError());
           }
           // print_r($arr);
           
           //图片上传结束
       } elseif('config' == $action) { //加载配置
           $result =  json_encode($CONFIG);
       }
       
       /* 输出结果 */
       if (isset($_GET["callback"])) {
           if (preg_match("/^[\w_]+$/", $_GET["callback"])) {
               echo htmlspecialchars($_GET["callback"]) . '(' . $result . ')';
           } else {
               echo json_encode(array(
                   'state'=> 'callback参数不合法'
               ));
           }
       } else {
           echo $result;
       }
    }

注意将方法中的上传路径修改成自己项目中的路径

亲测上传图片功能正常

阅读全文
1 0