关于ECshop编辑器fckeditor上传文件按年月并重命名方法
2016-09-11 20:38 来源:www.chinab4c.com 作者:ecshop专家
ecshop是一套非常好的网店系统,fckeditor也是个不错的html编辑器,常用于各种cms及商城系统实现在编辑html代码,然后ecshop使用的fckeditor在上传图片和其它文件时是没有按目录存放的,我们很多人都习惯上传的文件按年和月这样的日期存放这样不至于上传文件夹存放的内容太多太杂,影响系统的稳定性,同时上传的文件也没有进行重命名,当我们上传中文文件名的文件时有些时候会出错,下面我们就来实现:
一、ecshop的fckeditor上传文件时按年和日存放,假如我们是2012年3月存放的,系统会自动建一个文件夹201207,方法
打开includes/fckeditor/editor/filemanager/connectors/php/config.php,找到:
修改前的代码:
1
2
3
4
5
6
7
8
|
// Path to user files relative to the document root.
$Config['UserFilesPath'] = $root_path . IMAGE_DIR . '/upload/';
// Fill the following value it you prefer to specify the absolute path for the
// user files directory. Useful if you are using a virtual directory, symbolic
// link or alias. Examples: 'C:\\\\MySite\\\\userfiles\\\\' or '/root/mysite/userfiles/'.
// Attention: The above 'UserFilesPath' must point to the same directory.
$Config['UserFilesAbsolutePath'] = ROOT_PATH . IMAGE_DIR . '/upload/' ;
|
修改后的代码:
1
2
3
4
5
6
7
8
|
// Path to user files relative to the document root.
$Config['UserFilesPath'] = $root_path . IMAGE_DIR . '/upload/'.date('Ym').'/';
// Fill the following value it you prefer to specify the absolute path for the
// user files directory. Useful if you are using a virtual directory, symbolic
// link or alias. Examples: 'C:\\\\MySite\\\\userfiles\\\\' or '/root/mysite/userfiles/'.
// Attention: The above 'UserFilesPath' must point to the same directory.
$Config['UserFilesAbsolutePath'] = ROOT_PATH . IMAGE_DIR . '/upload/'.date('Ym').'/';
|
然后保存,非常简单,仅是在这两行后面增加了 .date('Ym').'/'
二、ecshop的fckeditor上传文件时自动重命名,方法:
找到文件:includes/fckeditor/editor/filemanager/connectors/php/io.php,找到
修改前的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
// Do a cleanup of the file name to avoid possible problems
function SanitizeFileName( $sNewFileName )
{
global $Config ;
$sNewFileName = stripslashes( $sNewFileName ) ;
// Replace dots in the name with underscores (only one dot can be there... security issue).
if ( $Config['ForceSingleExtension'] )
$sNewFileName = preg_replace( '/\\\\.(?![^.]*$)/', '_', $sNewFileName ) ;
// Remove \\ / | : ? * " < >
$sNewFileName = preg_replace( '/\\\\\\\\|\\\\/|\\\\||\\\\:|\\\\?|\\\\*|"|<|>|[[:cntrl:]]/', '_', $sNewFileName ) ;
return $sNewFileName ;
}
|
修改后的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
// Do a cleanup of the file name to avoid possible problems
function SanitizeFileName( $sNewFileName )
{
global $Config ;
$sNewFileName = stripslashes( $sNewFileName ) ;
// Replace dots in the name with underscores (only one dot can be there... security issue).
if ( $Config['ForceSingleExtension'] )
$sNewFileName = preg_replace( '/\\\\.(?![^.]*$)/', '_', $sNewFileName ) ;
// Remove \\ / | : ? * " < >
//$sNewFileName = preg_replace( '/\\\\\\\\|\\\\/|\\\\||\\\\:|\\\\?|\\\\*|"|<|>|[[:cntrl:]]/', '_', $sNewFileName ) ;
$sExtension = substr( $sNewFileName, (strrpos($sNewFileName,'.') + 1 ) ) ;
$sNewFileName = date('YmdHis').rand(0,999).'.'.$sExtension;
return $sNewFileName ;
}
|
就是把
1
|
$sNewFileName = preg_replace( '/\\\\|\\/|\\||\\:|\\?|\\*|"|<|>|[[:cntrl:]]/', '_', $sNewFileName ) ;
|
注释掉,新增加:
1
2
|
$sExtension = substr( $sNewFileName, (strrpos($sNewFileName,'.') + 1 ) ) ;
$sNewFileName = date('YmdHis').rand(0,999).'.'.$sExtension;
|
保存后,在ecshop的后台测试就会发现我们上传的图片按年月分目录保存并自动重命名了!
最近更新
常用插件
- ecshop二次开发商品购买增
图片1香...
- ecshop最小购买数量控制插
ecshop最小购买数量控制插件,这个插件主要是为我们提供一个十分方便...
- ecshop2.7.2生成虚拟订单2.
以前我们开发过ecshop下的虚拟订单,就是客户在访问的时候,会自动生...
- ecshop2.7.1邮件发送插件
ecshop2.7.1邮件发送插件:该插件主要的开发思想是源于ecshop短信发送系统...
- ecshop没登陆情况下订单查
ecshop没登陆情况下订单查询插件,主要是针对ecshop在没有登陆的情况下...
ecshop热门问答
ecshop热门资料
ecshop邮件html模板
ecshop卖点
ecshopLativ
zencart购买记录
ecshop开通
ecshop虛擬主機
ecshop感想
ecshopTNT
ecshop女士内衣
ecshop等级价格
ecshopie9
ecshopFPT
ecshop网站程序
ecshop设为首页
ecshop圆通
ecshop友情
ecshop搬迁
ecshopFlashFxp
ecshop的了得硕
ecshopMORE
ecshop消除
ecshopclothing服装模板
ecshopweb发布模块
ecshop何故
ecshop尊敬
ecshop打印机
ecshopajax
ecshop小语种
Editable
ecshop死活