KindEditor在php环境下上传图片功能集成的方法示例


Posted in PHP onJuly 20, 2020

KindEditor 是一套开源的在线HTML编辑器, 后台可与 Java、.NET、PHP、ASP 等程序集成。为实现图文混排的编辑效果,我们通常都会用到编辑器的图片上传功能,本文会简单讲一下KinEditor的基本使用,主要说明如何在php环境下,集成编辑器的图片上传功能!

  1. KindEditor 官方下载:http://kindeditor.net/down.php
  2. KindEditor 编辑器的基本使用:http://kindeditor.net/docs/usage.html
  3. KindEditor 初始化参数配置:http://kindeditor.net/docs/option.htm
  4. KindEditor 官方案例: http://kindeditor.net/demo.php
  5. KindEditor在php环境下上传图片功能集成

首先,我们先看一下编辑器里面自带的图片上传弹框,编辑器可使用 网络图片 和 本地上传 种方式,如下图。网络图片地址在 file_manager_json.php 里面设置,本地上传的图片上传的文件夹在upload_json.php 里面设置,如何设置接下来会有说明。

KindEditor在php环境下上传图片功能集成的方法示例

KindEditor在php环境下上传图片功能集成的方法示例

下面,我们就开始集成图片上传功能吧。

1)根据上述步骤引入css和js,同时初始化编辑器。

/* 页面已引入以下文件
 *	css: kindeditor/themes/default/default.css
 *	js: kindeditor/kindeditor-all-min.js
 *		 kindeditor/lang/zh-CN.js
 */
 
 // 初始化编辑器
 KindEditor.ready(function(K) {
 editor = K.create('textarea[name="content"]', {
  autoHeightMode : true, // 需自动调整高度时配置
  resizeType: 1, //拖拽设置,详情参考上述第3点,初始化参数配置
  allowImageUpload: true, // 允许图片上传
  allowFileManager: true, // 允许文件管理
  wellFormatMode: false, // 不美化HTML数据,kindeditor会自动美化编辑器的html代码,这样我们输入内容之后生成的html会多很多的<br/>标签,如不需要可将此配置项设置为false.
  uploadJson: 'kindeditor/php/upload_json.php', // 配置文件上传的接口文件的路径,需要使用 本地上传 图片时需配置
  fileManagerJson : 'kindeditor/php/file_manager_json.php', // 配置网络图片加载的接口文件的路径,需要使用 网络图片 加载图片时需配置
  afterCreate : function() {
   this.loadPlugin('autoheight'); // 需自动调整高度时使用
  },
  afterBlur: function(){ // 编辑器失去焦点时将数据同步到textarea
   this.sync(); // sync的详细作用可参考上述第2点,编辑器的基本使用
  }
 });
})

2)修改KindEditor中的 upload_json.php 文件,保证本地上传文件路径的正确性。
在路径 kindeitor/php/ 目录下找到 upload_json.php 文件,我们发现会有下面几行代码:

//文件保存目录路径
$save_path = $php_path . '../attached/';
//文件保存目录URL
$save_url = $php_url . '../attached/';
//定义允许上传的文件扩展名
$ext_arr = array(
	'image' => array('gif', 'jpg', 'jpeg', 'png', 'bmp'),
	'flash' => array('swf', 'flv'),
	'media' => array('swf', 'flv', 'mp3', 'wav', 'wma', 'wmv', 'mid', 'avi', 'mpg', 'asf', 'rm', 'rmvb'),
	'file' => array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'htm', 'html', 'txt', 'zip', 'rar', 'gz', 'bz2'),
);

从上面代码可以看出,kindeditor本地上传的图片默认会上传到 kindeditor/attached/ 下面,如果attached目录不存在,则会上传失败。我们可以根据自身代码目录指定本地上传的目录。

3)修改KindEditor中的 file_manager_json.php 文件,保证网络图片路径读取的正确性。
在路径 kindeitor/php/ 目录下找到 file_manager_json.php 文件,我们会发现也有两行与 2)中相似的代码:

//根目录路径,可以指定绝对路径,比如 /var/www/attached/
		$root_path = $php_path . '../attached/';
		//根目录URL,可以指定绝对路径,比如 http://www.yoursite.com/attached/
		$root_url = $php_url . '../attached/';
		//图片扩展名
		$ext_arr = array('gif', 'jpg', 'jpeg', 'png', 'bmp');

网路图片地址的默认路径同样是 kindeditor/attached/ ,我们可根据自身需要修改目录。

到此这篇关于PHP环境下如何实现使用KindEditor编辑器上传图片的文章就介绍到这了,更多相关PHP KindEditor编辑器上传图片内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
跟我学小偷程序之成功偷取首页(第三天)
Oct 09 PHP
十天学会php(3)
Oct 09 PHP
让PHP以ROOT权限执行系统命令的方法
Feb 10 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
Jun 25 PHP
php strnatcmp()函数的用法总结
Nov 27 PHP
destoon二次开发入门示例
Jun 20 PHP
WordPress中自定义后台管理界面配色方案的小技巧
Dec 29 PHP
php实现中文转数字
Feb 18 PHP
详解配置 Apache 服务器支持 PHP 文件的解析
Feb 15 PHP
yii2局部关闭(开启)csrf的验证的实例代码
Jul 10 PHP
PHP重置数组为连续数字索引的几种方式总结
Mar 12 PHP
PHP设计模式之数据访问对象模式(DAO)原理与用法实例分析
Dec 12 PHP
php连接mysql之mysql_connect()与mysqli_connect()的区别
Jul 19 #PHP
PHP+MySql实现一个简单的留言板
Jul 19 #PHP
PHP8.0新功能之Match表达式的使用
Jul 19 #PHP
PHP程序守护进程化实现方法详解
Jul 16 #PHP
PHP如何获取Cookie并实现模拟登录
Jul 16 #PHP
PHP使用Http Post请求发送Json对象数据代码解析
Jul 16 #PHP
PHP字符串和十六进制如何实现互相转换
Jul 16 #PHP
You might like
Laravel 批量更新多条数据的示例
2017/11/27 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
JS Timing
2007/04/21 Javascript
JAVASCRIPT IE 与 FF中兼容问题小结
2009/02/18 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
推荐一个封装好的getElementsByClassName方法
2014/12/02 Javascript
javascript 动态创建表格
2015/01/08 Javascript
jQuery实现简单的间隔向上滚动效果
2015/03/09 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
vue中引用阿里字体图标的方法
2018/02/10 Javascript
详解Vue微信授权登录前后端分离较为优雅的解决方案
2018/06/29 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
2018/06/29 Javascript
js事件触发操作实例分析
2019/06/21 Javascript
vue router动态路由设置参数可选问题
2019/08/21 Javascript
JavaScript原型式继承实现方法
2019/11/06 Javascript
[48:46]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第二场 11.19
2020/11/19 DOTA
Python入门篇之文件
2014/10/20 Python
python自定义解析简单xml格式文件的方法
2015/05/11 Python
Python正则表达式匹配和提取IP地址
2019/06/06 Python
使用Pandas对数据进行筛选和排序的实现
2019/07/29 Python
centos7之Python3.74安装教程
2019/08/15 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
2020/01/08 Python
Python内建序列通用操作6种实现方法
2020/03/26 Python
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
2014/06/23 HTML / CSS
欧铁通票官方在线销售网站:Eurail.com
2017/10/14 全球购物
Nike法国官方网站:Nike.com FR
2018/07/22 全球购物
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
招标承诺书
2014/08/30 职场文书
高二学年自我鉴定范文(2篇)
2014/09/26 职场文书
前台接待岗位职责
2015/02/03 职场文书
小学入学感言
2015/08/01 职场文书
小学语文教学随笔
2015/08/14 职场文书
因个人工作失误检讨书
2019/06/21 职场文书
Android RecyclerView实现九宫格效果
2022/06/28 Java/Android
MySql统计函数COUNT的具体使用详解
2022/08/14 MySQL