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 相关文章推荐
CodeIgniter框架提示Disallowed Key Characters的解决办法
Apr 21 PHP
PHP+MYSQL会员系统的开发实例教程
Aug 23 PHP
将FCKeditor导入PHP+SMARTY的实现方法
Jan 15 PHP
php实现二进制和文本相互转换的方法
Apr 18 PHP
php结合mysql与mysqli扩展处理事务的方法
Jun 29 PHP
thinkphp实现附件上传功能
May 26 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
Jul 10 PHP
PHP实现更改hosts文件的方法示例
Aug 08 PHP
利用PHP实现开心消消乐的算法示例
Oct 12 PHP
php中html_entity_decode实现HTML实体转义
Jun 13 PHP
PHP中单例模式的使用场景与使用方法讲解
Mar 18 PHP
Laravel 微信小程序后端搭建步骤详解
Nov 26 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
PHP4中实现动态代理
2006/10/09 PHP
PHP 数组入门教程小结
2009/05/20 PHP
PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式)
2014/06/19 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
2014/10/13 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
JavaScript Array Flatten 与递归使用介绍
2011/10/30 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
javascript中offset、client、scroll的属性总结
2015/08/13 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
详解Vue2.0 事件派发与接收
2017/09/05 Javascript
详解vue渲染函数render的使用
2017/12/12 Javascript
js 取消页面可以选中文字的功能方法
2018/01/02 Javascript
JS计算两个时间相差分钟数的方法示例
2018/01/10 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
一文快速详解前端框架 Vue 最强大的功能
2019/05/21 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
vue-router 控制路由权限的实现
2020/09/24 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
解决vue数据不实时更新的问题(数据更改了,但数据不实时更新)
2020/10/27 Javascript
[55:03]LGD vs EG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
StudentUniverse英国:学生航班、酒店和旅游
2019/08/25 全球购物
javascript实现用户必须勾选协议实例讲解
2021/03/24 Javascript
宝宝周岁宴答谢词
2014/01/26 职场文书
小学开学典礼主持词
2014/03/19 职场文书
学生党员批评与自我批评
2014/10/15 职场文书
给客户的检讨书
2014/12/21 职场文书
中学音乐课教学反思
2016/02/18 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang
tomcat的catalina.out日志按自定义时间格式进行分割的操作方法
2022/04/02 Servers
Elasticsearch6.2服务器升配后的bug(避坑指南)
2022/09/23 Servers