PHP环境Fckeditor编辑器上传图片配置教程_PHP技巧_龙虎鹰师网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

PHP环境Fckeditor编辑器上传图片配置教程

作者:龙虎鹰师网安PHP教程网 来源:龙虎鹰师网安PHP教程网 浏览次数:0

本篇关键词:Fckeditor编辑器
龙虎鹰师网安网讯:今天介绍Fckeditor上传图片功能在PHP中的配置方法,涉及Fckeditor上传图片的上传路径配置、限制Fckeditor上传图片大小设置、Fckeditor上传图片文件名重名及乱码解决方法以及针对上传图片添加水印功能的实现方法,只

今天介绍Fckeditor上传图片功能在PHP中的配置方法涉及Fckeditor上传图片的上传路径配置、限制Fckeditor上传图片大小设置、Fckeditor上传图片文件名重名及乱码解决方法以及针对上传图片添加水印功能的实现方法只要掌握了以上四点,Fckeditor在大部分PHP类型网站中的应用都能解决

开启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并没有解决上传文件中文名变为乱码的问题,这是由于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实现图片添加水印功能。

图片支持GIF,PNG,JPG三种格式,水印图片支持PNGGIF

function setWater ($imgSrc, $markImg, $markText, $TextColor, $markPos, $fontType, $markType)

{

 

$srcInfo = @getimagesize($imgSrc);

$srcImg_w = $srcInfo[0];

$srcImg_h = $srcInfo[1];

 

switch ($srcInfo[2])

{

case 1:

$srcim =imagecreatefromgif($imgSrc);

break;

case 2:

$srcim =imagecreatefromjpeg($imgSrc);

break;

case 3:

$srcim =imagecreatefrompng($imgSrc);

break;

default:

die("不支持的图片文件类型");

exit;

}

 

if(!strcmp($markType,"img"))

{

if(!file_exists($markImg) || empty($markImg))

{

return;

}

 

$markImgInfo = @getimagesize($markImg);

$markImg_w = $markImgInfo[0];

$markImg_h = $markImgInfo[1];

 

if($srcImg_w < $markImg_w || $srcImg_h < $markImg_h)

{

return;

}

 

switch ($markImgInfo[2])

{

case 1:

$markim =imagecreatefromgif($markImg);

break;

case 2:

$markim =imagecreatefromjpeg($markImg);

break;

case 3:

$markim =imagecreatefrompng($markImg);

break;

default:

die("不支持的水印图片文件类型");

exit;

}

 

$logow = $markImg_w;

$logoh = $markImg_h;

}

 

if(!strcmp($markType,"text"))

{

$fontSize = 16;

if(!empty($markText))

{

if(!file_exists($fontType))

{

return;

}

}

else {

return;

}

 

$box = @imagettfbbox($fontSize, 0, $fontType,$markText);

$logow = max($box[2], $box[4]) - min($box[0], $box[6]);

$logoh = max($box[1], $box[3]) - min($box[5], $box[7]);

}

 

if($markPos == 0)

{

$markPos = rand(1, 9);

}

 

switch($markPos)

{

case 1:

$x = +5;

$y = +5;

break;

case 2:

$x = ($srcImg_w - $logow) / 2;

$y = +5;

break;

case 3:

$x = $srcImg_w - $logow - 5;

$y = +15;

break;

case 4:

$x = +5;

$y = ($srcImg_h - $logoh) / 2;

break;

case 5:

$x = ($srcImg_w - $logow) / 2;

    龙虎鹰师网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-19629-1.html
网站维护教程更新时间:2013-01-21 05:49:25  【打印此页】  【关闭
全站连接N点 | 龙虎鹰师网安 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。龙虎鹰师网安服务器维护基地招商进行中!请QQ:29769479

footer  footer  互联网安全  footer