fckeditor上传文件按日期存放及重命名方法

这篇文章主要介绍了fckeditor上传文件按日期存放及重命名方法,本文修改了相关PHP文件实现这二个需求,需要的朋友可以参考下。

1. 实现 fckeditor 按日期分目录的形式存放上传的文件,比如今天是 2015年5月5日,那么今天上传的文件都放在这个目录里面去,明天上传的则自动创建并放在类似 2015-05-06 这样的目录里面去。

(1)找到 editor\editor\filemanager\connectors\php\ 文件夹下的 config.php 文件

(2)找到如下配置变量

查看代码打印,代码如下:

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

将其值修改为:

$Config['UserFilesPath'] = '/uploadfiles/'.date('Y-m-d').'/';

这样上传的文件就按照日期存放了。

2. 重命名 fckeditor 上传的文件的方法

(1)找到 editor\editor\filemanager\connectors\php\io.php 文件:

(2)找到如下内容:

  1. ......
  2. function SanitizeFileName( $sNewFileName ){
  3. global $Config ;
  4. $sNewFileName = stripslashes( $sNewFileName ) ;
  5. if ( $Config['ForceSingleExtension'] )
  6. $sNewFileName = preg_replace( '/\\.(?![^.]*$)/', '_', $sNewFileName ) ;
  7. $sNewFileName = preg_replace( '/\\\\|\\/|\\||\\:|\\?|\\*|"|<|>/', '_', $sNewFileName );
  8. return $sNewFileName ;
  9. }
  10. ......

修改为:

  1. function SanitizeFileName( $sNewFileName ){
  2. global $Config ;
  3. $sNewFileName = stripslashes( $sNewFileName ) ;
  4. if ( $Config['ForceSingleExtension'] )
  5. $sNewFileName = preg_replace( '/\\.(?![^.]*$)/', '_', $sNewFileName ) ;
  6. //获得扩展名
  7. $sExtension = substr( $sNewFileName, ( strrpos($sNewFileName, '.') + 1 ) ) ;
  8. $sExtension = strtolower( $sExtension ) ;
  9. $sNewFileName = date("YmdHis").'.'.$sExtension;
  10. return $sNewFileName ;
  11. }

现在上传的文件就会自动被重命名了。