fckeditor php上传文件重命名的设置

  这里经过摸索:找到了一个重命名的方法,大家看看好不好使。

  首先:我希望上传的文件根据日期来组织文件夹

  请修改editor\editor\filemanager\connectors\php文件夹下的:config.php文件

  找到如下的内容:

  // Path to user files relative to the document root.

  $Config['UserFilesPath'] =

  修改为:

  // Path to user files relative to the document root.

  $Config['UserFilesPath'] = '/uploadfiles/'.date("Ym")."/" ;

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

  其次:重命名

  请修改该文件夹下的io.php文件

  找到:

  // 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( '/\\\\|\\/|\\||\\:|\\?|\\*|"|<|>/', '_', $sNewFileName );

  return $sNewFileName ;

  }

  修改为:

  // 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 ) ;

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

  $sNewFileName = my_setfilename().'.'.$sExtension;

  return $sNewFileName ;

  }

  function my_setfilename(){

  $gettime = explode(' ',microtime());

  $string = 'abcdefghijklmnopgrstuvwxyz0123456789';

  $rand = '';

  for ($x=0;$x<12;$x++)

   $rand .= substr($string,mt_rand(0,strlen($string)-1),1);

  return date("ymdHis").substr($gettime[0],2,6).$rand;

  }

  这样上传的文件就可以实现重命名了。