(使用步骤)ThinkPHP3.1.2中如何配置Ckeditor_4.1.1和Ckfindtor(转)
ThinkPHP3.1.2中如何配置Ckeditor_4.1.1和Ckfindtor
一、下载Ckeditor和Ckfinder
Ckeditor官网 http://ckeditor.com/download
解压ckeditor,放入test2(项目)/Public/ckeditor. (删除里边的smaple文件夹)
Ckfinder官网 http://cksource.com/ckfinder/download 解压Ckfinder,放入test2(项目)/Public/ckfinder. (删除里边的_smaple和help文件夹)
基本目录结构
二、在TPL/Index/index.html模板中引入ckeditor
<!DOCTYPE html>
<html> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>ThinkPHP3.1.2中如何配置Ckeditor_4.1.1和Ckfindtor</title>
<script type="text/javascript" src="__PUBLIC__/ckeditor/ckeditor.js"></script> </head> <body>
<form action="__URL__/add" method="post"> <textarea name="content"></textarea> <input type="submit" value="提交" /> </form>
<script type="text/javascript"> CKEDITOR.replace( 'content',{
filebrowserBrowseUrl : '__PUBLIC__/ckfinder/ckfinder.html', filebrowserImageBrowseUrl :
'__PUBLIC__/ckfinder/ckfinder.html?type=Images', filebrowserFlashBrowseUrl :
'__PUBLIC__/ckfinder/ckfinder.html?type=Flash', filebrowserUploadUrl :
'__PUBLIC__/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
filebrowserImageUploadUrl :
'__PUBLIC__/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
filebrowserFlashUploadUrl :
'__PUBLIC__/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash', });
</script> </body> </html>
三、配置ckeditor
打开ckeditor/config.js进行配置
config.language = 'zh-cn'; //配置语言
config.uiColor = '#AADC6E'; //界面颜色 config.width = 700; //宽度 config.height = 350; //高度
这里是最基本的配置,其它配置可以从网上搜一下
四、配置ckfinder,进行图片、falsh等上传功能
1.在项目根目录下新建uploads文件夹
2.打开ckfinder/config.php文件
把第33行中return false 改为 return true
把第63行中$baseUrl 改为 $baseUrl = '/test2(项目)/uploads/';
五、控制器IndexAction.class.php中的代码
<?php
// 本类由系统自动生成,仅供测试用途 class IndexAction extends Action { public function index(){ $this->display(); }
public function add(){ dump($_POST); } }
运行效果:
注意:
在上传中文文件时,会出现乱码,解决方法: 修改上传的文件名,打开
cdfinder/core/connector/php/php5/CommandHandler/FileUpload.php找到
if ($sFileName != $sUnsafeFileName) {
$iErrorNumber = CKFINDER_CONNECTOR_ERROR_UPLOADED_INVALID_NAME_RENAMED; }
在后面加上下面这两句就可以解决中文乱码问题
$sExtension = CKFinder_Connector_Utils_FileSystem::getExtension($sFileName); $sFileName = date("Ymd")."_".date("His").".".$sExtension;(这两句话是放在花括号后)
(使用步骤)ThinkPHP3.1.2中如何配置Ckeditor_4.1.1和Ckfindtor(转)的更多相关文章
- Hadoop在eclipse中的配置
在安装完linux下的hadoop框架,实现完所现有的wordCount程序,能够完美输出结果之后,我们开始来搭建在window下的eclipse的环境,进行相关程序的编写. 在网上有很多未编译版本, ...
- Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践
欢迎转载,转载时请保留全文及出处. Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践 Apache安装 下载源程序(http://httpd.ap ...
- JNDI在server.xml中的配置(全局和局部的)
总结: 全局就是在数据源server.xml中配置,然后通过和项目名相同的xml来进行映射.对所有的项目都起作用.那个项目需要就在对应的tomcat下配置一个与项目名相同的xml映射文件. 局部的就是 ...
- Centos7中hadoop配置
Centos7中hadoop配置 1.下载centos7安装教程: http://jingyan.baidu.com/article/a3aad71aa180e7b1fa009676.html (注意 ...
- 【学习总结】GirlsInAI ML-diary day-2-Python版本选取与Anaconda中环境配置与下载
[学习总结]GirlsInAI ML-diary 总 原博github链接-day2 Python版本选取与Anaconda中环境配置与下载 1-查看当前Jupyter的Python版本 开始菜单选J ...
- struts2的占位符*在action中的配置方法
转自:https://blog.csdn.net/u012546338/article/details/68946633 在配置<action> 时,可以在 name,class,meth ...
- Linux中安装配置spark集群
一. Spark简介 Spark是一个通用的并行计算框架,由UCBerkeley的AMP实验室开发.Spark基于map reduce 算法模式实现的分布式计算,拥有Hadoop MapReduce所 ...
- Linux中安装配置hadoop集群
一. 简介 参考了网上许多教程,最终把hadoop在ubuntu14.04中安装配置成功.下面就把详细的安装步骤叙述一下.我所使用的环境:两台ubuntu 14.04 64位的台式机,hadoop选择 ...
- 如何在CentOS系统中安装配置SNMP服务
CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,现在有一大部分服务器在使用此操作系统:SNMP(简单网络 ...
随机推荐
- Linux 权限基础说明
1 权限位说明 Linux文件或目录的权限位是由个9个权限位来控制的,每三位为一组,它们分别是文件属主(owner/user)读.写.执行,用户组(Group)的读.写.执行以及(Other)其他 ...
- js 高级函数 之示例
js 高级函数作用域安全构造函数 function Person(name, age) { this.name = name; this.age = age; ...
- var 的用法
var 的用法相当于定义一个变量为局部的,如果在函数内部用 var 定义一个变量,函数执行结果后,该变量就消失,如果在函数内部不用 var 声明,则变量是全局的,在函数外部也可以用该变量. var a ...
- sublime text 2代码片段(Snippet)功能的使用
“snippet”在英语里面是“片段”的意思.当我们编码时候,通常想要打几个简略的字符串,就出来一些固定的模板. 例如:使用snippet在新建文件时快速生成HTML头部信息等. 定义很简单,菜单:t ...
- Android内的生命周期整理
1. Android App的生命周期: 2. Application的生命周期: 3. Activity的生命周期: 3.1 Fragment的生命周期: 4. Service的生命周期:5. Br ...
- 结合使用 Oracle Database 11g 和 Python
结合使用 Oracle Database 11g 和 Python 本教程介绍如何结合使用 Python 和 Oracle Database 11g. 所需时间 大约 1 个小时 概述 Python ...
- 【python】【转】python中isinstance判断变量类型用法
来源 http://www.jb51.net/article/15696.htm 在Python中只需要使用内置的函数isinstance,使用起来非常简单,比如下面的例子: 复制代码 代码如下: c ...
- Python深入学习笔记(二)
计数器Counter Counter类是自Python2.7起增加的,属于字典类的子类,是一个容器对象,主要用来统计散列对象,支持集合操作+.-.&.|,其中后两项分别返回两个Counter对 ...
- 快速搭建高速稳定三层B/S架构
- 学习Swift -- 协议(上)
协议(上) 协议是Swift非常重要的部分,协议规定了用来实现某一特定工作或者功能所必需的方法和属性.类,结构体或枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能.任意能够满足协议要求 ...