CKEditor图片上传的PHP实现
来源:互联网 发布:ibm蓝云计算平台 编辑:程序博客网 时间:2024/05/22 01:49
编辑文章是网站后台的常用功能,CKEditor是目前流行的富文本编辑器,它使用方便但要做一些配置才能实现上传本地图片到服务器的功能。在参考了一篇java下CKEditor图片上传的博文后,我用PHP实现了CKEditor编辑文章并支持上传本地图片的功能。
从官网http://ckeditor.com/下载CKEditor,根据需要可以选择基本,标准,完整或自定义版,我下载的是CKEditor4.6完整版。
集成CKEditor到自己的页面,代码如下
<html><head><title>CKEditor集成</title><script type="text/javascript" src="../lib/ckeditor/ckeditor.js"></script> <!-- 引入ckeditor --></head><body><textarea id="editor"></textarea><script>//初始化ck编辑器,将它应用到id为editor的元素上CKEDITOR.replace('editor', { height: 350 //编辑器配置,这里仅设置高度为350});</script></body></html>浏览器打开页面之后就会看到ck编辑器了,编辑器中有插入图片的功能,默认只能输入图片URL不能本地上传图片,要开启上传功能就需要服务端配合了。
在ck编辑器中配置filebrowserUploadUrl,配置好了之后插入图片窗口将多出一个上传标签,用户可以在这里选择本地图片,点上传后图片将被发送到我们配置的地址上。
<html><head><title>CKEditor集成</title><script type="text/javascript" src="../lib/ckeditor/ckeditor.js"></script> <!-- 引入ckeditor --></head><body><textarea id="editor"></textarea><script>//将id为editor的元素替换为ck编辑器CKEDITOR.replace('editor', { height: 350, filebrowserUploadUrl: "/index.php?act=Cms.uploadCkImg", //设置图片上传请求地址});</script></body></html>接着在服务端实现图片上传功能。ck编辑器将图片以'upload'的名字上传,同时还会带上一个CKEditorFuncNum的参数,这个参数用来回调通知编辑器图片上传的结果。
处理步骤是PHP先获取$_FIile['upload']和$_GET['CKEditorFuncNum'],然后将上传的图片放置到服务上,根据上传结果返回一个调用ck的js
<script>window.parent.CKEDITOR.tools.callFunction($cb, '$url', '$error');</script>
其中$cb是之前获取的CKEditorFuncNum,$url是上传成功后访问图片的url,$erro是上传失败时ck需要显示给用户的错误信息
$cb = $_GET['CKEditorFuncNum']; //获得ck的回调idtry {if(isset($_FILES['upload'])) { //上传的图片的信息存在$_FILES['upload']$s = new FileService();$url = $s->uploadImg($_FILES[$name], $folder); //我自己的放置上传图片的逻辑,返回图片放置后的urlecho "<script>window.parent.CKEDITOR.tools.callFunction($cb, '$url', '');</script>" //图片上传成功,通知ck图片的url}}catch (\Exception $e) {$erro = $e->getMessage();echo "<script>window.parent.CKEDITOR.tools.callFunction($cb, '', '$error');</script>" //图片上传失败,通知ck失败消息}至此就可以用CKEditor自如地编辑图文了。
另外默认上传图片预览中有大堆文字可能看着不爽,可以打开ckeditor/plugins/image/dialogs/image.js文件,搜索“b.config.image_previewText”就能找到这段鸟语了,(b.config.image_previewText||'')单引号中的内容全删了,注意别删多了。
- CKEditor图片上传的PHP实现
- CKeditor上传图片的实现
- ckeditor上传图片的实现
- PHP CKEditor 上传图片实现代码
- CKEditor实现图片上传
- ckEditor图片上传实现
- CKEditor实现图片上传
- CKEditor实现图片上传
- CKEditor实现图片上传
- 【CKEditor 】CKEditor 图片的上传
- 【CKEditor 】CKEditor 图片的上传
- django下ckeditor上传图片的实现
- CKEditor的使用,并实现图片上传
- PHP利用CKEditor上传图片
- PHP利用CKEditor上传图片
- php CKEditor编辑器上传图片
- PHP中配置Ckeditor和Ckfinder(实现图片上传)
- PHP 中配置 ckeditor(fckeditor的新版本)+ckfinder ,实现上传图片功能。
- Java注释
- 根路径文件是否存在
- LeetCode--4
- LeetCode-345. Reverse Vowels of a String
- 使用Sencha cmd安装extjs6
- CKEditor图片上传的PHP实现
- 项目小经验
- Tomcat 7最大并发连接数的正确修改方法
- 安装python及各种数据包
- 数值计算库gsl(GNU Scientific Library)
- Jquery的详解
- 画图步骤
- Awesome Java
- No 'Access-Control-Allow-Origin' header is present on the requested resource.