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

我使用的fckeditor版本是fckeditor2.6.4.

fckeditor默认上传文件不没有重命名的,这样的话就很麻烦,有时上传中文的文件或者名称重复的文件就很恼火。

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

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

请修改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;

}

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

最新评论:

no.10140 xzngfhlqqlh 188.143.232.27 2016-06-08 12:50

You co'ulndt pay me to ignore these posts!

no.1649 habu2046 116.3.255.133 2010-07-06 14:24

记录一下,谢谢分享

no.899 blackboy2008 202.96.31.198 2009-05-11 10:28

感谢博主的网络传授。。
fangzi 2009-05-15 00:29

算不上了,只是记录,备忘

no.667 bcccn 125.215.4.86 2009-03-13 09:00

在2.6.4版本中IO.ASP文件中跟 本就没有这段代码了,你是哪个版本哦, 而且在这个版本中如上上传文件命相同的话就会自动在后面加(1)以此类推。
fangzi 2009-05-15 00:30

老大,我这个是PHP版本的。

no.641 momo9908 59.155.111.12 2009-03-04 14:39

return date("ymdHis").substr($gettime[0],2,6).$rand; date("ymdHis") 就可以确定文件名唯一了,没必要再加随机数了吧,呵呵
fangzi 2009-03-05 21:56

时间最多精确到秒,如果多用户在同一秒中上传图片?虽然可能性小,但是在一个高访问量的系统中还是很必要的。

发表评论:

邮箱: