search
Homephp教程php手册CKEDITOR+CKFINDER的图片上传配置(C#/asp.net/php)(转载)
CKEDITOR+CKFINDER的图片上传配置(C#/asp.net/php)(转载)Jun 06, 2016 pm 02:05 PM
asp.netc#ckeditorphpcodeupload pictureOpen sourceprogrammingprogramming languagesoftwareConfiguration

CKEDITOR+CKFINDER的图片上传配置(C#/asp.net/php)

本文来源与网络

CKEDITOR+CKFINDER的图片上传配置(C#/asp教程.net/php教程)

php

keditor的代码全部重写,但里面没有了上传功能,只是一个纯粹的文件在线编辑器,如果需要上传图片,还需要下载ckfinder。

首先去官方上下载源代码,然后分别解压缩在网站根目录里(默认ckeditor和ckfinder文件夹里,一般不需要改动)

在所需要的页面插入JS

再修改ckfinder/config.php 里CheckAuthentication函数,返回改为ture(默认为fasle)

这样就能够实现上传功能了。


如果上面的方法不行可以试一下


1. 下载安装 CKEditor:
http://ckeditor.com/
解压下载到的CKEditor放到网站的路径中即可
2. 下载安装 CKFinder:
http://ckfinder.com/download
解压下载到的CKFinder放到与CKEditor同一目录中即可
 
3. 在网页中使用 CKEditor 和 CKFinder:
CKEditor 实际是替换一个 textarea 标签,所以把textarea放到一个form中,当提交到php服务器端,使用$_GET['xxx'] 或者 $_POST['xxx'] 取得编辑好的数据。注意,因为 CKEditor 要替换 textarea,所以相应的javascript 代码"CKEDITOR.replace(xxxxxx)" 要放在 textarea 的后面。
最简单的方法,直接新建一个test.html文件(和ckeditor、ckfinder处于同一级目录)使用下面的例子修改一下即可。在浏览器里浏览test.html就可以在网页中看到 CKEditor 了,兴奋吧。
 
 
 
 
   CKEditor
 
 
 
 
 
4. 配置CKFinder进行上传图片,Flash等。
 
到这里,点击 "Image" 按钮,在弹出的窗口中的 "Upload" 标签中已经看到上传按钮了,但是在上传文件时失败。因为CKFinder还没有配置好。需要创建上传文件的目录和修改 ckfinder/config.php 里的三个地方:
a. 创建保存上传文件的目录,如upload
(把upload文件夹也放在和ckeditor、ckfinder处于同一级目录,三个目录都位于项目目录下)
其路径为 /upload/
[For Linux: 把其权限设置为php server可读写,最简单的是 chmod 777 upload 这样php server才有权限往里面保存文件.]
 
b. 找到配置文件(ckfinder/config.php)第32行,把 function CheckAuthentication () { return false; }
修改成 function CheckAuthentication() { return true; }
 
c. 找到第63行,把 $baseUrl 的值改成保存上传文件存目录的URL,
如 $baseUrl = '/项目名/upload/';(这里的地址要从项目目录开始的绝对路径,确定上传目录已经存在)
 
d. 找到第82行,删除 $baseDir = resolveUrl($baseUrl); 修改 $baseDir 为上传文件目录的绝对路径 ,(本地测试的时候要从磁盘的跟目录下开始,即C:/或者D:/的直接目录)
如$baseDir = '/Apache2/htdocs/ck/upload/'; (Apache2是D:/盘下的直接目录)
这 是因为resolveUrl($baseUrl)函数不能正常工作。
 
至此,可以使用 CKEditor 和 CKFinder 上传文件了。
 
对上面这个小例子中服务器端的b.php代码:
 
 
header("Content-Type:text/html; charset=utf-8");
$str = $_POST['editor1'];
echo $str;
?>
 
可以看到,在点击submit按钮后,服务器端收到了CKEditor中的内容,并使用echo输出,生成一个与CKEditor里面编辑的完全一样的内容。在服务器端可以把收到的内容保存到数据库教程中。然后再读出在相应的页面显示出来。

---------------------------------------------------------------------------------------------------------

fckeditor的上传图片中,有一个可以浏览服务器目录的功能,如果在后台,是可以开放使用的,如果是前台用户访问就不要使用这个功能。
不过浏览图片不是很方便,ckfinder 就很好的简单了这个问题
fckeditor的配制如下:
修改文件:
fckeditoreditorfilemanagerconnectorsphpconfig.php

// $Config['Enabled']改过true,允许上传

 


$Config

[

'Enabled'

]

 =

 true

 ;

 


//$Config['UserFilesPath'] 设置相对于根目录的上传目录,目前来说没有用,因为实际上传在下面的配制中

 


$Config

[

'UserFilesPath'

]

 =

 "/upload/"

;

 


//$Config['UserFilesAbsolutePath']  上传的图片位置,包括根目录

 


$Config

[

'UserFilesAbsolutePath'

]

 =

 '/public/upload/'

 ;

 

 

 

设置ckfinder的config.php

$baseUrl

 =

 '/upload/'

;

 


// 在CheckAuthentication 改为return true,这里可以加入自己的权限判断。

 


function

 CheckAuthentication(

)

 


{

 


 return

 true

;

 


}

程序代码中使用

 $fckeditor

 =

 new

 FCKeditor(

$fckname

)

 ;

 


 $fckeditor

->

BasePath

 =

 '/js/fckeditor/'

 ;

 


//$toolbar_set 设置工具栏 默认值: Default

 


 $fckeditor

->

ToolbarSet

 =

 $toolbar_set

;

 


// $width 宽度

 


 $fckeditor

->

Width

     =

 $width

;

 


// $height 高度

 


 $fckeditor

->

Height

     =

 $height

;

 


//皮肤文件的路径

 


 $fckeditor

->

Config

      =

  array

(

'SkinPath'

=>

$SkinPath

)

;

 


 $fckeditor

->

Value

      =

 $value

;

 


//在fckedior这前使用CKFinder

 


 CKFinder::

SetupFCKeditor

(

 $fckeditor

,

 "/js/ckfinder/"

)

 ;

 


 $fckhtml

 =

 $fckeditor

->

Create

(

)

 ;

下面为详细的c#配置方法

CKEditor和CKFinder的最新版可以到官方网站(http://cksource.com)上下载获得。
把以上两个资源放到网站的根目录: /CKEditor 和 /CKFinder (不区分大小写)
在页面使用 CKEditor:
       
       
CKEditor 本身不自带上传功能,所以需要配合CKFinder才可以实现上传
第一步:网站需要引用CKFinder的dll(目录:/CKFinder/bin/Release/CKFinder.dll)
第二步:配置CKEditor的config.js (目录:/CKEditor/config.js ) 在CKEDITOR.editorConfig函数里加上,不需要的功能可以去掉
    config.filebrowserBrowseUrl= '/ckfinder/ckfinder.html'; //上传文件时浏览服务文件夹
    config.filebrowserImageBrowseUrl= '/ckfinder/ckfinder.html?Type=Images'; //上传图片时浏览服务文件夹
    config.filebrowserFlashBrowseUrl= '/ckfinder/ckfinder.html?Type=Flash';  //上传Flash时浏览服务文件夹
    config.filebrowserUploadUrl = '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files'; //上传文件按钮(标签)
    config.filebrowserImageUploadUrl= '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images'; //上传图片按钮(标签)
    config.filebrowserFlashUploadUrl= '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash'; //上传Flash按钮(标签)
配置完成后CKEditor 就带有上传功能了,但假如上传图片时,图片的文件是用原来图片的名字,想改为随机文件名呢,怎么办?接着看第三步。
 
第三步:修改CKFinder的源码。CKFinder自带有源码,目录:/CKFinde/_source
在VS里新建一个 现在的项目 指向CKFinde/_source/CKFinder.Net.sln
1) 打开/Settings/ConfigFile.cs文件
定位27行,添加一个属性:public bool RandomReName; //随机重命名
定位67行,给刚才的属性赋值:RandomReName = true; //默认值为true
保存关闭文件
2) 打开/Connector/Config.cs文件
定位62行,添加一个属性:
        public bool RandomReName
        {
            get { return Settings.ConfigFile.Current.RandomReName; }
        }
保存关闭文件
3) 打开/Connector/CommandHandlers/FileUploadCommandHandler.cs文件
定位64行,添加一句判断代码:
                        if ( Config.Current.RandomReName)  //使用随机名
                            sFileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." + sExtension;

保存关闭文件
4) 重新生成项目,把/ckfinder/_source/bin/Debug/CKFinder.dll覆盖/ckfinder/bin/Release/CKFinder.dll或者网站项目去掉之前加入的引用再重新从CKFinder.Net项目里的Dll
最后一步:打开/ckfinder/config.ascx
定位42行,添加一属性:(其实这个加不加都可以的,因为之前有设置默认值,但使用原名时一定要设置为false)
        //上传完毕后使用随机文件名
        RandomReName = true;

保存关闭
好了,到此已经配置成功了,CKEditor 可以有上传功能了。其它的功能的设置,有空再继续研究~
还要提醒一句:CKEditor 和 CKFinder 文件夹里有很多不需要的东西,例如名字带有下划线前辍的,.net项目不需要php,asp的。
如果上传文件出现错误:因为安全原因,文件不可浏览. 请联系系统管理员并检查CKFinder配置文件.
需要修改config.ascx文件中
public override bool CheckAuthentication()
{
reture false;
}
修改为:
public override bool CheckAuthentication()
{
// 窗体验证时用
 return Request.IsAuthenticated;
//reture true; 不推荐使用
}

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
使用PHP和CKEditor创建富文本编辑器使用PHP和CKEditor创建富文本编辑器May 11, 2023 pm 04:06 PM

随着Web应用程序的广泛使用,创建富文本编辑器变得越来越普遍。CKEditor被广泛认可为最好的富文本编辑器之一,因为它具有良好的可定制性和易用性。本文将介绍如何使用PHP和CKEditor创建富文本编辑器。CKEditor简介CKEditor是一个开源的、跨平台的富文本编辑器,通过JavaScript实现。它提供了直观易懂的工具栏,包括字体样式、格式化、图

微信小程序实现图片上传功能微信小程序实现图片上传功能Nov 21, 2023 am 09:08 AM

微信小程序实现图片上传功能随着移动互联网的发展,微信小程序已经成为了人们生活中不可或缺的一部分。微信小程序不仅提供了丰富的应用场景,还支持开发者自定义功能,其中包括图片上传功能。本文将介绍如何在微信小程序中实现图片上传功能,并提供具体的代码示例。一、前期准备工作在开始编写代码之前,我们需要先下载并安装微信开发者工具,并注册成为微信开发者。同时,还需要了解微信

使用CakePHP框架实现图片上传和显示的步骤使用CakePHP框架实现图片上传和显示的步骤Jul 29, 2023 pm 04:21 PM

使用CakePHP框架实现图片上传和显示的步骤引言:在现代Web应用程序中,图片上传和显示是常见的功能需求。CakePHP框架为开发者提供了强大的功能和便捷的工具,使得实现图片上传和显示变得简单高效。本文将向您介绍如何使用CakePHP框架来实现图片上传和显示。步骤1:创建文件上传表单首先,我们需要在视图文件中创建一个表单,用于用户上传图片。以下是一个示例的

Vue技术开发中如何处理图片上传和压缩Vue技术开发中如何处理图片上传和压缩Oct 08, 2023 am 10:58 AM

Vue技术开发中如何处理图片上传和压缩在现代web应用中,图片上传是一个非常常见的需求。然而,由于网络传输和存储等方面的原因,直接上传原始的高分辨率图片可能会导致上传速度慢和存储空间的大量浪费。因此,对于图片的上传和压缩是非常重要的。在Vue技术开发中,我们可以使用一些现成的解决方案来处理图片上传和压缩。下面将介绍如何使用vue-upload-compone

如何使用PHP和Vue实现图片上传功能如何使用PHP和Vue实现图片上传功能Sep 25, 2023 pm 03:17 PM

如何使用PHP和Vue实现图片上传功能在现代网页开发中,图片上传功能是非常常见的需求。本文将详细介绍如何使用PHP和Vue来实现图片上传功能,并提供具体的代码示例。一、前端部分(Vue)首先需要在前端创建一个用于上传图片的表单。具体代码如下:<template><div><inputtype="fil

如何使用Redis和C#实现分布式事务功能如何使用Redis和C#实现分布式事务功能Jul 29, 2023 am 11:05 AM

如何使用Redis和C#实现分布式事务功能引言:随着互联网的迅猛发展和用户规模的不断扩大,分布式系统架构已成为一种常见的解决方案。分布式系统的关键问题之一是保证数据一致性,尤其是在涉及多个数据库的跨数据库事务处理中。Redis是一种高效的内存数据库,提供了用于实现分布式事务的特性,可以与C#语言结合使用来构建分布式系统。本文将介绍如何通过使用Redis和C#

使用Vue开发中遇到的图片上传和裁剪问题使用Vue开发中遇到的图片上传和裁剪问题Oct 08, 2023 pm 04:12 PM

标题:Vue开发中图片上传和裁剪问题及解决方法引言:在Vue开发中,图片上传和裁剪是常见的需求。本文将介绍在Vue开发中遇到的图片上传和裁剪问题,并给出解决方法和具体的代码示例。一、图片上传问题:选择图片上传按钮无法触发文件选择框:这个问题通常是因为没有正确绑定事件或者绑定的事件不生效。可以通过在模板中绑定点击事件,并在对应的方法中触发文件选择框。代码示例:

如何使用ThinkPHP6实现图片上传如何使用ThinkPHP6实现图片上传Jun 20, 2023 pm 09:25 PM

随着互联网的发展,图片上传已经成为了网站和应用程序开发中的一个必不可少的功能。而在PHP领域,ThinkPHP6已经成为了一款非常流行的开发框架。在本文中,我们将介绍如何使用ThinkPHP6实现图片上传。一、创建项目和控制器首先,我们需要创建一个新的ThinkPHP6项目。可以使用Composer进行安装,也可以在官网下载最新版。安装完成后,在控制台中进入

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Tools

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools