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.MVC的模板标签系统(二)
Sep 05 PHP
Apache, PHP在Windows 9x/NT下的安装与配置 (二)
Oct 09 PHP
一道关于php变量引用的面试题
Aug 08 PHP
探讨方法的重写(覆载)详解
Jun 08 PHP
解析PHP中数组元素升序、降序以及重新排序的函数
Jun 20 PHP
PHP 使用pcntl和libevent 实现Timer功能
Oct 27 PHP
PHP创建PowerPoint2007文档的方法
Dec 10 PHP
Laravel中间件实现原理详解
Oct 09 PHP
php登录超时检测功能实例详解
Mar 21 PHP
CentOS系统中PHP安装扩展的方式汇总
Apr 09 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
Aug 06 PHP
如何运行/调试你的PHP代码
Oct 23 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
php 获取远程网页内容的函数
2009/09/08 PHP
PHP 输出缓冲控制(Output Control)详解
2016/08/25 PHP
JavaScript版代码高亮
2006/06/26 Javascript
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
jQuery select的操作实现代码
2009/05/06 Javascript
js特效,页面下雪的小例子
2013/06/17 Javascript
推荐5 个常用的JavaScript调试技巧
2015/01/08 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JS实现文字掉落效果的方法
2015/05/06 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
2016/06/12 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
vue实现鼠标移入移出事件代码实例
2019/03/27 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
2020/04/27 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
python列表的常用操作方法小结
2016/05/21 Python
使用Python多线程爬虫爬取电影天堂资源
2016/09/23 Python
Python模块WSGI使用详解
2018/02/02 Python
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
详解python实现线程安全的单例模式
2018/03/05 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
利用python画出AUC曲线的实例
2020/02/28 Python
Django URL参数Template反向解析
2020/11/24 Python
Css3实现无缝滚动防抖
2020/09/14 HTML / CSS
Html5 实现微信分享及自定义内容的流程
2019/08/20 HTML / CSS
家得宝墨西哥官网:The Home Depot墨西哥
2019/11/18 全球购物
如何用SQL语句进行模糊查找
2015/09/25 面试题
政法大学毕业生自荐信范文
2014/01/01 职场文书
市场部管理制度
2014/02/02 职场文书
党的群众路线教育实践活动总结报告
2014/04/28 职场文书
2015年个人思想总结
2015/03/09 职场文书
2016年秋季运动会加油稿
2015/12/21 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS