针对PHP环境下Fckeditor编辑器上传图片配置详细教程

开启Fckeditor上传图片功能

  考虑到目录安全性问题,默认Fckeditor2.6.6上传功能并未开启,所以第一步我们必须开启Fckeditor上传功能,这里需要注意,由于PHP版本Fckeditor上传功能需要用到chomod函数对新建目录进行权限设置,所以请务必确认在启用Fckeditor上传功能时PHP环境的用户具有创建和更改上传目录的权限。

  如果没有开启Fckeditor上传功能,在点击插入/编辑图像按钮,选择上传,在选择完要上传的文件后点击发送到服务器上按钮时会报错误信息如下

代码如下:

This file uploader is disabled.    
Please check the "editor/filemanager/connectors/php/config.php" file

根据错误信息,打开editor/filemanager/connectors/php目录下config.php,找到

代码如下:

$Config['Enabled'] = false ;

更改为

代码如下:

$Config['Enabled'] = true ;

并在相应目录下建立userfiles上传目录后,Fckeditor上传图片功能开启。

  特别提醒:Fckeditor似乎有个BUG漏洞,即JS兼容性还不是太完美,之前我在Google Chrome游览器下设置完后,Fckeditor PHP上传一直实现不了,换了IE后一切正常。

Fckeditor上传图片时上传路径配置教程

  作为独立网站开发者,除了考虑技术还需要兼顾其他方便,比如SEO优化,而目录结构(URL)优化是SEO的一部分,这就需要在设置Fckeditor上传图片功能时考虑图片上传路径问题。

  默认Fckeditor图片上传路径结构有两种形式:userfiles/文件名和userfiles/文件类型/文件名,针对两种Fckeditor上传方式:快速上传(图像属性中的上传)和服务器游览上传(图像属性中的链接),比如上传图片,QuickUpload模式上传路径为userfiles/文件名,服务器游览上传模式上传路径为userfiles/images/文件名。

Fckeditor图片上传路径配置如下

  打开editor/filemanager/connectors/php目录下config.php文件,找到

代码如下:

$Config['UserFilesPath'] = '/userfiles/' ;

更改为

代码如下:

$Config['UserFilesPath'] = '/项目目录/userfiles/' ;

注意:此处userfiles文件夹是针对http://localhost/的根目录而言的。

  以上是默认Fckeditor上传路径的配置,根据URL规划你可以自定义Fckeditor的上传目录,只要修改config.php文件中的$Config['FileTypesPath']、$Config['FileTypesAbsolutePath']、$Config['QuickUploadPath']、$Config['QuickUploadAbsolutePath']四个上传目录路径的值即可。这种方法一定程度上也能避免Fckeditor上传图片文件名重名问题。

限制Fckeditor上传图片大小设置

  Fckeditor2.6.6默认并没有限制上传图片文件的大小,可以通过两种方法改进,一种可以通过修改PHP.INI配置文件上传大小来限制,另一种方法只能手动修改Fckeditor源码,方法如下

  1、打开editor/filemanager/connectors/php目录下config.php,创建Config变量设置上传图片大小,这里以KB为单位

代码如下:

$Config['MaxImageSize']= '1024';

2、打开editor/filemanager/connectors/php目录下commands.php,找到

代码如下:

if ( isset( $Config['SecureImageUploads'] ) )  
{  
if ( ( $isImageValid = IsImageValid( $oFile['tmp_name'], $sExtension ) ) === false )  
{  
$sErrorNumber = '202' ;  
}  
//上传图片大小限制  
}

在上传图片大小限制处,添加

代码如下:

if ( isset( $Config['MaxImageSize'] ) )  
{  
    $iFileSize = round( $oFile['size'] / 1024 );  
    if($iFileSize > $Config['MaxImageSize'] )  
    {  
        $sErrorNumber = '204';  
    }  
}

说明:由于PHP计算上传图片大小以字节为单位,所以代码首先将上传的图片大小折算为KB,再来对比是否超出了规定的图片大小,如超出,则报错。

  注意最后将

代码如下:

if ( !$sErrorNumber && IsAllowedExt( $sExtension, $resourceType ) )  
{  
//Fckeditor上传图片功能  
}  
else 
$sErrorNumber = '202' ;

代码块结尾处的else语句去除,否则实现不了限制Fckeditor上传图片文件大小的功能。

  3、打开editor/dialog/fck_image/fck_image.js,添加错误代码(errorNumber)信息,找到OnUploadCompleted函数,添加

代码如下:

case 204 :  
alert( "Security error. File size error." ) ;  
return ;

至此限制Fckeditor上传图片文件大小配置就完成了,其他类型的上传文件大小限制也是这种思路。

Fckeditor上传图片文件名重名及中文乱码解决方法

  经测试Fckeditor2.6.6并没有解决上传文件中文名变为乱码的问题,这是由于Fckeditor实现上传功能时并没有将文件重命名,容易导致上传图片文件重名及乱码问题。

  上传图片文件重名和乱码解决方法如下

  打开editor/filemanager/connectors/php目录下commands.php,找到FileUpload函数,在

代码如下:

$sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ;  
$sExtension = strtolower( $sExtension ) ;

后添加

代码如下:

$sFileName = rand(0,100).".".$sExtension;

此处rand函数可根据需要自行改变重命名规则。

  另一种上传图片文件名乱码解决方法为使用iconv函数对文件名进行编码转换,但仍然存在重名问题,所以针对Fckeditor上传图片文件名最好还是重命名。

Fckeditor上传图片添加水印功能

  对于网站拥有者来说保护图片版权添加水印必不可少,我们可以利用PHP添加水印函数结合Fckeditor文件上传函数FileUpload实现图片添加水印功能,水印函数请参考PHP图片水印函数:支持以图片和文字方式添加水印一文。

  至此Fckeditor在PHP环境下的上传图片配置入门教程就介绍完了。

(0)

相关推荐

  • phpstorm编辑器乱码问题解决

    PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提供用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查. 由于PHPStorm编辑器默认是UTF-8编码 如果开发的是gbk编码的中文站,加载GBK编码会出现乱码 解决方法: 复制代码 代码如下: FILE->Setting->File Encoding->将UTF-8改成GBK 几个字符的改动就解决了这个问题,是不是很简单呢

  • php中常用编辑器推荐

    eWebEditor除了具有前台的调用功能外,还具有很强的后台管理功能,能够对编辑器多种功能进行各种有效的自定义,具体如下: Excel工作表导入(V4.3)eWebEditor最新提供Excel工作表导入解决方案,支持Excel中图片.图表的导入并自动上传到服务器.并提供了是否使用VML格式的导入选项,如不使用VML格式,则在导入时图表将自动生成图片,并自动上传到服务器.大大方便了利用Excel办公文档发布的需要. Word文档导入及本地文件自动上传(V4.0)eWebEditor最新提供Wo

  • ajax php实现给fckeditor文本编辑器增加图片删除功能

    工作需要需要fck编辑器的服务器浏览加个图片删除的功能,我们利用ajax php实现的有需要的朋友可以参考下. 在fckeditoreditorfilemanagerbrowserdefault文件夹中找到frmresourceslist.html文件,修改代码如下 oListManager.GetFileRowHtml找到这里,下面代码替换原来的代码 复制代码 代码如下: oListManager.GetFileRowHtml = function(fileName, fileUrl, fil

  • php下FCKeditor2.6.5网页编辑器的使用方法

    1.首先去官网下载FCKeditor2.6.5 多国语言版.http://ckeditor.com/download,注意:第一个为最新3.0.1版,第二个才是FCKeditor 2.6.5 2.删除不必要的东西: 删除/FCKeditor/目录下除fckconfig.js,fckeditor.js,fckstyles.xml,fcktemplates.xml,fckeditor.php,fckeditor_php5.php,fckeditor_php4.php 七个文件以外的所有文件: 删除目

  • php单文件版在线代码编辑器

    密码加密方式:  * md5(自设密码+$ace) //$ace为cdn镜像地址 使用方法: * 1.确认 $pwd 变量值为 false, 上传本文件到PHP空间并访问  * 2.第一次访问提示设置密码,设置密码并牢记  * 3.使用第一次设置的密码登录后,默认编辑的是本php文件,  * 4.本文件是编辑器核心文件,请不要随意修改  * 5.保存编辑的文件请用 Ctrl + S 按键组合,等待执行结果  * 6.保存动作执行后请务必等待保存成功信息返回  * 7.重置操作会修改本程序的文件名

  • PHP网页 Ewebeditor 编辑器嵌入方法

    (1)在 </head> 之前加上下面一段代码:(得到 ewebeditor 中编辑的内容) <script> function checkForm() { document.form1.content .value = window.ewebeditor .getHTML(); ************getHTML() 获得编辑区内容 ************ 此处的名字 ewebeditor 要与 iframe 中的 name="ewebeditor" 相

  • ThinkPHP中FCKeditor编辑器的使用方法

    而且可以用直接上传和ajax两种方式处理内容.为了给一些还没能成功地集成fckeditor的同侪们一些启发与帮助, 兹将我的经验与体会描述如下:应用目的:将FCKeditor编辑器集成到Thinkphp中,使用户能够在线像编辑Word一样处理即将发表的文字与图像. 应用软件与环境:apache服务器2.0以上版本,PHP版本5.0以上,mysql5.0以上:Thinkphp版本1.5或以上,Fckeditor版本2.x. 应用步骤: 1.下载FCKeditor2.x版本,将解压后的文件夹FCKe

  • 推荐5款跨平台的PHP编辑器

    IDE(集成开发环境)或换句话说PHP编辑器是开发人员在构建移动或Web应用必不可少的工具.在这篇文章中,我们将讨论有关PHP编辑器并分享5个最好的跨平台的PHP编辑器. 1.NetBeans NetBeans包括开源的开发环境和应用平台,NetBeans IDE可以使开发人员利用Java平台能够快速创建Web.企业.桌面以及移动的应用程序,NetBeans IDE已经支持PHP.Ruby.JavaScript.Groovy.Grails和C/C++等开发语言.NetBeans项目由一个活跃的开

  • 让Editplus成为强大的PHP编辑器

    在开始之前,我们先要复习下热键绑定的方法.顺便说一句,文章中我们使用的Editplus V2.12 中文版本.打开 Editplus,选择工具 -> 参数设置,在弹出的对话框中选择 键盘,选中要绑定的命令,然后把光标移动到 按下新的快捷键 的文本框中,按下你希望的快捷键,如果文本框下边出现的是 这个已分配到"无"的话,说明这个快捷键可用,点击右边的"分配"就完成了热键的绑定了.将自己常用的命令绑定为热键可以很大的提高生产率,多个热键的联合使用会产生令人吃惊的效

  • 针对PHP环境下Fckeditor编辑器上传图片配置详细教程

    开启Fckeditor上传图片功能 考虑到目录安全性问题,默认Fckeditor2.6.6上传功能并未开启,所以第一步我们必须开启Fckeditor上传功能,这里需要注意,由于PHP版本Fckeditor上传功能需要用到chomod函数对新建目录进行权限设置,所以请务必确认在启用Fckeditor上传功能时PHP环境的用户具有创建和更改上传目录的权限. 如果没有开启Fckeditor上传功能,在点击插入/编辑图像按钮,选择上传,在选择完要上传的文件后点击发送到服务器上按钮时会报错误信息如下 复制

  • WIN10环境 Maven的安装与配置详细教程

    WIN10环境 Maven的安装与配置,步骤如下所示: 第一步:安装JDK并配置环境变量     注意:全部配置到系统变量或者用户变量!! cmd输入java -version验证是否安装: 第二步:安装Maven 下载地址: http://maven.apache.org/download.cgi 下载好之后,解压并选择存放路径: 第三步:Maven环境变量配置 首先打开我的电脑->属性->高级系统设置. 新建系统变量:MAVEN_HOME,复制Maven的路径: 在系统变量:Path中复制

  • linux环境下安装mysql数据库的详细教程

    1.安装数据库 1)yum -y install mysql-server(简单) yum命令自动从网上寻找mysql服务资源,下载至本地并完成安装 2)也可以自己在网上下载mysql服务,通过xftp传输至Linux系统,自己安装(一般安装在usr或opt目录下) 2.启动数据库 安装完毕,执行命令service mysqld start 3.登录数据库 mysql -u root -p回车后输入密码(mysql的默认用户是root,密码为空) 4.使用数据库 登录成功切换到mysql数据库,

  • docker环境下安装jenkins容器的详细教程

    推荐docker学习资料:https://www.runoob.com/docker/docker-tutorial.html 一.Centos7环境 docker安装 先到官网下载镜像,docker镜像官方:https://hub.docker.com/ 1.最新版安装 yum install -y yum-utils device-mapper-persistent-data lvm2 2.加入docker源 yum-config-manager --add-repo https://mir

  • RedHat环境下socks5代理的配置指南教程

    最近有不少网友老是问我一些QQ如何利用代理的事.其实是很简单的,通过代理猎手寻找一些socks5代理便可.刚好最近在学习linux系统,于是突然想到用RedHat9来做个socks5代理服务器.ok!说干就干. 1.先在北大天网搜索一下socks5的安装包,发现一大堆,最新版本是socks5-v1.0r11.tar.gz,于是下载到我的RH9的服务器上. 2.解压缩软件包 #tar xvfz socks5-v1.0r11.tar.gz 3.开始编译 #cd socks5-v1.0r11 #./c

  • CentOS服务器环境下MySQL主从同步配置方法

    本文实例讲述了CentOS服务器环境下MySQL主从同步配置方法.分享给大家供大家参考,具体如下: 一.环境 主机: master操作系统:centos 5.3 IP:192.168.1.222 MySQL版本:5.0.77 从机: slave操作系统:centos 5.3 IP:192.168.1.220 MySQL版本:5.0.77 二.创建数据库 分别登录master机和slave机的 mysql:mysql –u root –p 创建数据库: create database repl;

  • CentOS7服务器环境下vsftpd安装及配置方法

    本文实例讲述了CentOS7服务器环境下vsftpd安装及配置方法.分享给大家供大家参考,具体如下: 0x:卸载vsftpd [root@localhost ~]# yum remove vsftpd [root@localhost ~]# find / -name "vsftpd*" /etc/vsftpd /etc/vsftpd/vsftpd.conf.bak [root@localhost ~]# rm -fr /etc/vsftpd/ 1x:重新安装 [root@localho

  • Jira7.10.1在Windows环境下的安装和配置教程图解

    一. jira的简介 JIRA是Atlassian公司出品的项目与事务跟踪工具,被广泛应用于缺陷跟踪.客户服务.需求收集.流程审批.任务跟踪.项目跟踪和敏捷管理等工作领域.JIRA中配置灵活.功能全面.部署简单.扩展丰富. 二. jira安装的环境准备 1. jira7.10的运行是依赖java环境的,也就是说需要安装jdk并且要是1.8以上版本:Java -version 2. 还需要为jira创建对应的数据库.用户名和密码,如下: 数据库版本:MySQL5.6,版本太高有时会出现连接不到的情

  • Win10下jdk安装及环境变量配置详细教程

    目录 前言 一. 准备工作 二.安装 三. 配置环境变量 1.点击"新建"会出现一个弹窗: 2.新建CLASSPATH变量 3.配置path,找到path,双击或者点编辑 四.验证环境变量配置 ① java 验证 ② javac 验证 ③ java -version 验证 前言 为什么写这篇文章呢,因为我不想再去百度搜别人的文章了,所以自己写一篇以作记录. 一. 准备工作 JDK8下载地址 JDK8下载地址2 由于有的读者说Oracle需要账号才能下载,不想那么麻烦再去注册一个,那么你

  • win10环境下python3.5安装步骤图文教程

    点我去Python官网下载 往下翻几页就能看到各种版本的Python,当前最新的是Python3.6,也没多大区别,我选择的是3.5.2 64位的,点击download 根据自己的电脑配置,我选择的是64位的 一路默认下去吧! 安装成功!下面打开命令提示符,输入python,回车如下图一样就安装成功啦! 以上所述是小编给大家介绍的win10环境下python3.5安装步骤图文教程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的.在此也非常感谢大家对我们网站的支持!

随机推荐