如何将CKeditor编辑器的上传和thinkphp结合

 我来答
化清和
2016-11-24 · 建造师
化清和
采纳数:2256 获赞数:6975

向TA提问 私信TA
展开全部

这里是在JS部分进行了修改,指定了当使用编辑器的图片功能时,上传的请求地址在那里。一般来说ckeditor是不带上传的,你把上面的配置调整好后,点击图片,就会出现上传功能,但是只是个架子,没有实际效果。具体的处理请看下面:

function ck_upload($ftype = 'image')

    {

        if($ftype == 'image'){

            $ftype =  array('jpg', 'gif', 'png', 'jpeg', 'bmp');

        }

        header("Content-type:text/html");

        import('ORG.Net.UploadFile');

        $upload = new UploadFile(); // 实例化上传类

        $upload->maxSize = -1; // 设置附件上传大小

        $upload->allowExts = $ftype; // 设置附件上传类型

        $upload->savePath = './Public/Uploads/'; // 设置附件上传目录

        $upload->autoSub = true;

        $upload->subType = 'date';

        if (!$upload->upload()) {// 上传错误提示错误信息

            echo "<script type=\"text/javascript\">window.parent.CKEDITOR.tools.callFunction(".$this->_get('CKEditorFuncNum').", '/', '上传失败," . $upload->getErrorMsg() . "!');</script>";

        } else {

            //// 上传成功 获取上传文件信息并存入数据库

            $info = $upload->getUploadFileInfo();

//获取具体的路径,用于返回给编辑器

            $savepath = $info[0]['savepath'].$info[0]['savename'];

            //下面的输出,会自动的将上传成功的文件路径,返回给编辑器。

                echo "<script type=\"text/javascript\">window.parent.CKEDITOR.tools.callFunction(".$this->_get('CKEditorFuncNum').",'$savepath','');</script>";

        }

    }

复制代码

会发现TP的代码里,有两端是输出JS的,一个是报错,一个是返回图片,这个自己看一下,就能懂的。很简单的。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式