ThinkPHP3.1.3 整合 UEditor百度編輯器 圖片上傳


第一步、前端模板實例化百度編輯器

<js file='__ROOT__/Data/UEditor/ueditor.config.js' />
<js file='__ROOT__/Data/UEditor/ueditor.all.min.js' />
<js file='__ROOT__/Data/UEditor/lang/zh-cn/zh-cn.js' />
<script type="text/javascript">
    window.UEDITOR_HOME_URL = '__ROOT__/Data/UEditor/'; // 添加編輯器實例所在的路徑
    window.onload = function(){
        window.UEDITOR_CONFIG.initialFrameWidth = 1000; // 設置編輯器寬度
        window.UEDITOR_CONFIG.initialFrameHeight = 600; // 設置編輯器高度
        window.UEDITOR_CONFIG.serverUrl = "{:U(GROUP_NAME . '/Blog/upload')}"; // 服務器統一請求接口路徑
        UE.getEditor('container'); // 實例化編輯器,container是要實例化的網頁元素id
    }
</script>

 

第二步、后台Tp處理圖片上傳

// 編輯器圖片上傳處理
public function upload(){
    // 修正UE后台配置文件config.json的路徑
    $config = json_decode(preg_replace("/\/\*[\s\S]+?\*\//", "", file_get_contents("./Data/UEditor/php/config.json")), true);
    $action = $_GET['action'];
    switch ($action) {
        case 'config':
            $result = json_encode($config);
            break;
        case 'uploadimage':
        case 'uploadscrawl':
        case 'uploadvideo':
        case 'uploadfile':
            // 調用ThinkPHP的UploadFile類
            import('ORG.Net.UploadFile');
            $upload = new UploadFile($config);
            $upload->autoSub = true;    // 啟用子目錄存儲
            $upload->subType = 'date';  // 子目錄存儲名為日期
            $upload->dateFormat = 'Ym'; // 日期格式:Ym,如:201701

            if($upload->upload('./Uploads/')){
                $info = $upload->getUploadFileInfo();
                // 圖片加水印
                // import('Class.Image', APP_PATH);
                // Image::water('./Uploads/' . $info[0]['savename'], './Data/logo.png');

                // 編輯返回數據格式(參考UE源碼文件夾下/php/action_upload.php文件)
                echo json_encode(array(
                    'state' => 'SUCCESS',             // 上傳狀態,上傳成功時必須返回"SUCCESS"
                    'url' => __ROOT__ . '/Uploads/' . $info[0]['savename'],   // 返回的地址
                    'title' => $info[0]['name'] ,     // 新文件名
                    'original' => $info[0]['name'],   // 原文件名
                    'type' =>  $info[0]['type'],      // 文件類型
                    'size' =>  $info[0]['size']        //文件大小
                    ));
            }else{
                echo json_encode(array('state'=>$upload->getErrorMsg()));
            }
            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;
    }
}

 

參考鏈接:Thinkphp3.2.3整合最新百度Ueditor1.4.3編輯器


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM