下载最新版 ckfinder 本人下载的php版本

https://cksource.com/ckfinder/download

下载最新版ckeditor

http://ckeditor.com/

把它们解压放到指定的目录

html 文件主页内容

需要修改的配置文件

修改ckeditor 的配置文件

Public\Ckeditor\ckeditor\config.js

/**

  • @license Copyright (c) 2003-2016, CKSource - Frederico Knabben. All rights reserved.
  • For licensing, see LICENSE.md or http://ckeditor.com/license

    */

CKEDITOR.editorConfig = function( config ) {

// Define changes to default configuration here. For example:

//设置为中文

config.language = 'zh-cn';

//背景颜色

config.uiColor = '#14B8C4';

// 设置宽高

config.height = 600;

//去掉图片预览英文
config.image_previewText = ' '; config.filebrowserBrowseUrl = '/Public/Ckeditor/ckfinder/ckfinder.html?Type=Files';
config.filebrowserImageBrowseUrl = '/Public/Ckeditor/ckfinder/ckfinder.html?Type=Images';
config.filebrowserFlashBrowseUrl = '/Public/Ckeditor/ckfinder/ckfinder.html?Type=Flash';
config.filebrowserUploadUrl = '/Public/Ckeditor/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files';
config.filebrowserImageUploadUrl = '/Public/Ckeditor/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images';
config.filebrowserFlashUploadUrl = '/Public/Ckeditor/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash';

};

需要其他的自己定义

修改ckfinder 的配置文件

Public\Ckeditor\ckfinder\config.php

ini_set('display_errors', 0); 改为 ini_set('display_errors', 1); 有错误信息方便调试

$config['authentication'] = function () {

return false;

};

改为

session_start();

$config['authentication'] = function () {

if(isset($_SESSION['username'])){

return true;

}else{

return false;

}

};

允许上传 并增加安全验证 可以根据自己的需要修改

$config['backends'][] = array(

'name' => 'default',

'adapter' => 'local',

'baseUrl' => '/ckfinder/userfiles/',

// 'root' => '', // Can be used to explicitly set the CKFinder user files directory.

'chmodFiles' => 0777,

'chmodFolders' => 0755,

'filesystemEncoding' => 'UTF-8',

);

改为

$baseUrl 具体的自己定义

$baseDir

$config['backends'][] = array(

'name' => 'default',

'adapter' => 'local',

'baseUrl' => $baseUrl, //新的上传文件访问路径

'root' => $baseDir, // 新修改的文件上传根目录

'chmodFiles' => 0777,

'chmodFolders' => 0755,

'filesystemEncoding' => 'UTF-8',

);

$config['resourceTypes'][] = array(

'name' => 'Images',

'directory' => 'images',

'maxSize' => 0,

'allowedExtensions' => 'bmp,gif,jpeg,jpg,png',

'deniedExtensions' => '',

'backend' => 'default'

);

改为

$config['resourceTypes'][] = array(

'name' => 'Files', // Single quotes not allowed.

'directory' => 'img/ckeditor/files', //修改上传的具体路径

'maxSize' => 0,

'allowedExtensions' => '7z,aiff,asf,avi,bmp,csv,doc,docx,fla,flv,gif,gz,gzip,jpeg,jpg,mid,mov,mp3,mp4,mpc,mpeg,mpg,ods,odt,pdf,png,ppt,pptx,pxd,qt,ram,rar,rm,rmi,rmvb,rtf,sdc,sitd,swf,sxc,sxw,tar,tgz,tif,tiff,txt,vsd,wav,wma,wmv,xls,xlsx,zip',

'deniedExtensions' => '',

'backend' => 'default'

);

其他的像上传flash 都做同样的修改

最后修改上传文件名称,防止中文乱码

\Ckeditor\ckfinder\core\connector\php\vendor\cksource\ckfinder\src\CKSource\CKFinder\Utils.php

public static function replaceDisallowedExtensions($fileName, ResourceType $resourceType)

{

$pieces = explode('.', $fileName);

    $basename = array_shift($pieces);
$lastExtension = array_pop($pieces); foreach ($pieces as $ext) {
$basename .= $resourceType->isAllowedExtension($ext) ? '.' : '_';
$basename .= $ext;
}
/**
* 重新定义命名规则 自己定义
*/
$sFileName=date('YmdHis').mt_rand(1000,9999);
// Add the last extension to the final name.
return $sFileName . '.' . $lastExtension;
}

CKEditor + CKFinder 实现编辑上传图片配置的更多相关文章

  1. CKEditor + CKFinder 实现编辑上传图片配置 (二)

    CKEditor + CKFinder 实现编辑上传图片配置 (二) 上传图片时,如果上传的图片过大,默认情况情况下回自动裁剪,代码如图 \ckfinder\config.php 目录下的配置文件co ...

  2. (配置)CKEditor+CKFinder+php上传配置,根据年月命名创建文件夹来存放

    CKEditor+CKFinder+php上传配置 新版本的CKEditor只提供了基本的文本编辑功能,上传模块由另一个组件CKFinder.这里主要记录CKFinder上传的一些参数配置,能够成功上 ...

  3. CKEditor && CKFinder 配置

    准备                                                                                                   ...

  4. 网络编辑器插件ckeditor+ckfinder配置

    原帖地址 另外一个 去掉编辑器的下边栏 在config.js中加入: config.removePlugins = 'elementspath'; config.resize_enabled = fa ...

  5. jsp中如何整合CKEditor+CKFinder实现文件上传

    最近笔者做了一个新闻发布平台,放弃了之前的FCKEditor编辑器,使用了CKEditor+CKFinder,虽然免费的CKFinder是Demo版本,但是功能完整,而且用户都是比较集中精神发新闻的人 ...

  6. .Net在线编辑器:KindEditor及CkEditor+CkFinder配置说明

    Net在线编辑器:KindEditor及CkEditor+CkFinder配置说明 一.KindEditor(免费) KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所 ...

  7. CKEditor & CKFinder集成

    CKEditor集成 CKEditor(原名FckEditor): 著名的HTML编辑器(可在线编辑HTML) 配置: ①将CKEditor中的(adapters images lang plugin ...

  8. 在ASP.NET项目中使用CKEditor +CKFinder实现图片上传功能

    前言 之前的项目中一直使用的是FCKeditor,昨天突然有个想法:为什么不试一下新的CKEditor呢?于是花了大半天的时间去学习它的用法,现在把我的学习过程与大家分享一下. 谈起FCKeditor ...

  9. drupal中安装CKEditor文本编辑器,并配置图片上传功能 之 方法二

    drupal中安装CKEditor文本编辑器,并配置图片上传功能 之 方法一 中介绍了ckeditor的安装和配置方法,其实还有另一种新方法,不用IMCE模块. 不过需要ckfinder的JS库,可以 ...

随机推荐

  1. iOS 圆角那些事(转)

    似乎没有那家公司比Apple更爱圆角了,事实上,圆角也会让图形/产品看起来更加无侵略性,能够带来更好的用户体验.iOS开发中各种圆角也随处可见,最简单给控件添加圆角的方式就是给视图的layer设置co ...

  2. SDUT OJ 2783 小P寻宝记

    #include<iostream> #include<memory.h> #define N 10020 using namespace std; int dp[N],pi[ ...

  3. ODBC与JDBC比較

    在学习J2EE的JDBC过程中,刚见到JDBC就立即联想到了ODBC,并且我们能够肯定他们之间有必定的关系.開始学它的时候还是认为有点晕,于是就查了非常多资料,与比較熟悉的ODBC进行了比較. 先各自 ...

  4. 固定cell.imageView.image的大小

    cell.imageView.image的大小 会随着Cell的高度而变化,不同的图片显示的也不一样,在网上找了几种方法,简单方便的是下面这种: UIImage *icon = [UIImage im ...

  5. JS 事件绑定的几种方式 小笔记

    第一种 var test=document.getElementById('add'); add.onclick=function(){ alert('1'); } 直接在对象上注册事件 缺点:如果我 ...

  6. javascript高级知识分析——灵活的参数

    代码信息来自于http://ejohn.org/apps/learn/. 使用数量可变的参数对编程很有好处 function merge(root){ for(i = 0 ; i < argum ...

  7. 如何使用eclipse生成javadoc帮助文档

    ---恢复内容开始--- 如果你已经能制造轮子了,你想让其他人使用你的轮子,那你就得告诉他们你的轮子都是由什么构成的.这样他们才能更好的使用你制造的轮子.然而,很多开发者都不想写长篇大论的帮助文档,这 ...

  8. SQL Server 触发器2

    触发器可以做很多事情,但也会带来很多问题.使用它的技巧在于在适当的时候使用,而不要在不适当的时候使用它们. 触发器的一些常见用途如下: 弹性参照完整性:实现很多DRI不能实现的操作(例如,跨数据库或服 ...

  9. Power Designer Repository 使用指南(一)

    最近wait4friend在进行建模的时候,总是被问如果在Power Designer里面进行版本的控制.原始的方法是对PDM文件进行SVN管理,不过这个方法比较土,并且不方便版本直接图形的比较.其实 ...

  10. Java 之HashMap.values()方法误用

    1.出错 今天在测试代码的时候发现程序报错,看代码才知道是使用HashMap.values()方法的时候出错.因为项目中需要获取Map的值的集合然后进行遍历,所以就很自然的调用了HashMap.val ...