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 相关文章推荐
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
Mar 10 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
Mar 11 PHP
PHP函数in_array()使用详解
Aug 20 PHP
Yii把CGridView文本框换成下拉框的方法
Dec 03 PHP
为你总结一些php信息函数
Oct 21 PHP
PHP使用trim函数去除字符串左右空格及特殊字符实例
Jan 07 PHP
JSON两种结构之对象和数组的理解
Jul 19 PHP
PHP实现多关键字加亮功能
Oct 21 PHP
php实现留言板功能(会话控制)
May 23 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
Jun 27 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
Apr 02 PHP
详细分析PHP7与PHP5区别
Jun 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
解决cPanel无法安装php5.2.17
2014/06/22 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
JS获取浏览器版本及名称实现函数
2013/04/02 Javascript
artdialog的图片/标题以及关闭按钮不显示的解决方法
2013/06/27 Javascript
jQuery手机拨号界面特效代码分享
2015/08/27 Javascript
使用jQuery获取data-的自定义属性
2015/11/10 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
极力推荐10个短小实用的JavaScript代码段
2016/08/03 Javascript
Angularjs自定义指令实现三级联动 选择地理位置
2017/02/13 Javascript
JQuery 又谈ajax局部刷新
2017/11/27 jQuery
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
Angular整合zTree的示例代码
2018/01/24 Javascript
Vue SSR 组件加载问题
2018/05/02 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
2018/09/01 Javascript
JS实现的tab页切换效果完整示例
2018/12/18 Javascript
vue动态子组件的两种实现方式
2019/09/01 Javascript
JS实现水平移动与垂直移动动画
2019/12/19 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
[42:34]VP vs VG 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python实现的检测web服务器健康状况的小程序
2014/09/17 Python
python实现web方式logview的方法
2015/08/10 Python
Python打包可执行文件的方法详解
2016/09/19 Python
基于python爬虫数据处理(详解)
2017/06/10 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
Python列表推导式与生成器用法分析
2018/08/02 Python
对python中数组的del,remove,pop区别详解
2018/11/07 Python
PyCharm在新窗口打开项目的方法
2019/01/17 Python
Python django搭建layui提交表单,表格,图标的实例
2019/11/18 Python
Python调用OpenCV实现图像平滑代码实例
2020/06/19 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
php优化查询foreach代码实例讲解
2021/03/24 PHP
征用土地赔偿协议书
2014/09/26 职场文书
Nginx四层负载均衡的配置指南
2021/06/11 Servers