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中获取远程客户端的真实ip地址的方法
Aug 03 PHP
php 地区分类排序算法
Jul 01 PHP
mac下安装nginx和php
Nov 04 PHP
php计算数组相同值出现次数的代码(array_count_values)
Jan 20 PHP
PHP防盗链的基本思想 防盗链的设置方法
Sep 25 PHP
smarty高级特性之过滤器的使用方法
Dec 25 PHP
PHP实现上传图片到 zimg 服务器
Oct 19 PHP
浅谈php fopen下载远程文件的函数
Nov 18 PHP
PHP中的use关键字及文件的加载详解
Nov 28 PHP
PHP Include文件实例讲解
Feb 15 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
Aug 06 PHP
浅析PHP中的 inet_pton 网络函数
Dec 16 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/01/01 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
2017/02/10 PHP
PHP序列化的四种实现方法与横向对比
2018/11/29 PHP
简单的JS多重继承示例
2008/03/13 Javascript
javascript 从if else 到 switch case 再到抽象
2010/07/17 Javascript
js不完美解决click和dblclick事件冲突问题
2012/07/16 Javascript
固定网页背景图同时保持图片比例的思路代码
2013/08/15 Javascript
JS delegate与live浅析
2013/12/21 Javascript
jquery实现一个简单好用的弹出框
2014/09/26 Javascript
javascript中if和switch,==和===详解
2015/07/30 Javascript
jQuery中$(function() {});问题详解
2015/08/10 Javascript
vue、react等单页面项目应该这样子部署到服务器
2018/01/03 Javascript
webpack打包js的方法
2018/03/12 Javascript
浅析Vue中拆分视图层代码的5点建议
2019/08/15 Javascript
vue实现图片上传预览功能
2019/12/23 Javascript
Python使用面向对象方式创建线程实现12306售票系统
2015/12/24 Python
Python 中开发pattern的string模板(template) 实例详解
2017/04/01 Python
python3+PyQt5自定义视图详解
2018/04/24 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
对python产生随机的二维数组实例详解
2018/12/13 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
python装饰器相当于函数的调用方式
2019/12/27 Python
Pycharm 2020最新永久激活码(附最新激活码和插件)
2020/09/17 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
前端canvas动画如何转成mp4视频的方法
2019/06/17 HTML / CSS
化石印度尼西亚在线商店:Fossil Indonesia
2019/03/11 全球购物
RUIFIER官网:英国奢侈高级珠宝品牌
2020/06/12 全球购物
linux比较文件内容的命令是什么
2013/03/04 面试题
四风问题查摆材料
2014/08/25 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
报表员工作失误检讨书范文
2014/09/19 职场文书
2015年语文教学工作总结
2015/05/25 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
写好求职信的技巧解密
2019/05/14 职场文书
Python 视频画质增强
2022/04/28 Python
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers