thinkphp引入百度编辑器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_39930129/article/details/80412507

ueditor直接百度搜索下载就可以了,下载将解压之后的文件拷贝到你要存放这个工具的地址。

前端页面设置:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <!--编辑器主体-->
        <textarea name="info" id="info" style="width:1024px;height:500px;"></textarea>
</body>
<!--jquery文件-->
<script type="text/javascript" src="{$smarty.const.JS}/jquery.min.js"></script>
<!--百度编辑器文件-->
<script type="text/javascript" charset="utf-8" src="{$smarty.const.__ROOT__}/Application/Tools/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="{$smarty.const.__ROOT__}/Application/Tools/ueditor/ueditor.all.js"></script>
<script type="text/javascript" charset="utf-8">
    window.UEDITOR_HOME_URL = "{$smarty.const.__ROOT__}/Application/Tools/ueditor/";
    $(document).ready(function () {
        UE.getEditor('info', {
            initialFrameHeight: 500,
            initialFrameWidth: 1050,
            serverUrl: "{$smarty.const.__CONTROLLER__}/save"
        });
    });
</script>
</html>

这里UE.getEditor 中的 info 就是 textarea的id名称,其中 serverUrl 就是重写了Ueditor上传的地址,默认是调用 ueditor组件的 controller.php 去上传的。

后端处理文件:

这里可以参考ueditor中php目录下的action_upload.php进行重写上传方法。

    public function save(){
        $CONFIG = json_decode(preg_replace("/\/\*[\s\S]+?\*\//", "", file_get_contents("config.json")), true);
        $action = $_GET['action'];
        switch ($action) {
            case 'config':
                $result =  json_encode($CONFIG);
                break;

            /* 上传图片 */
            case 'uploadimage':
            /* 上传涂鸦 */
            case 'uploadscrawl':
            /* 上传视频 */
            case 'uploadvideo':
            /* 上传文件 */
            case 'uploadfile':
                $upload = new \Think\Upload();
                $upload->maxSize=3145728;
                $upload->rootPath='./Public/Upload/';
                $upload->exts=array('jpg','gif','png','jpeg');
                $info=$upload->upload();
                if(!$info){
                    $result=json_encode(array(
                        'state'=>$upload->getError()
                    ));
                }else{
                    $url=__ROOT__."/Public/Upload/".$info['upfile']['savepath'].$info['upfile']['savename'];
                    $result=json_encode(
                        array(
                            'url'=>$url,
                            'title'=>htmlspecialchars($_POST['pictitle'],ENT_QUOTES),
                            'original'=>$info['upfile']['name'],
                            'state'=>'SUCCESS'
                        ));
                }
                break;

            /* 列出图片 */
            case 'listimage':
                $result = include("action_list.php");
                break;
            /* 列出文件 */
            case 'listfile':
                $result = include("action_list.php");
                break;

            /* 抓取远程文件 */
            case 'catchimage':
                $result = include("action_crawler.php");
                break;

            default:
                $result = json_encode(array(
                    'state'=> '请求地址出错'
                ));
                break;
        }
        /* 输出结果 */
        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;
        }
    }

如果出现图片无法添加,显示无法创建目录,确认一下自己目录的设置是否正确

另外,如果提示返回的数据格式错误,可以看一下自己是不是开了

' SHOW_PAGE_TRACE '       => true, // 使得网页底部显示跟踪信息

猜你喜欢

转载自blog.csdn.net/qq_39930129/article/details/80412507