当前位置:首页 > CMS教程 > ecshop > 列表

Ecshop后台fckeditor上传图片路径修改和重命名上传图片

发布:smiling 来源: PHP粉丝网  添加日期:2014-06-19 13:46:59 浏览: 评论:0 

Ecshop上传的图片都是放在images/upload/Image/下面的,图片多了就不爽了,Ecshop后台fckeditor上传图片路径修改和重命名上传图片.

看了网上很多修改的地方,自己也测试了好几次,现在终于可以了,Fckeditor上传图片路径修改后的路径是:已年月日时分秒来区分

images/upload/Image/201303/05143045-6546.jpg

images/upload/Image/年月/日时分秒-四位随机数.上传图片后缀名

我只修改了Image的路径,File、Flash、Media可自己参考修改.

一、修改Ecshop fckeditor 图片上传路径只有一点改动:

找到includes/fckeditor/editor/filemanager/connectors/php/config.php

  1. $Config['FileTypesPath']['Image']       = $Config['UserFilesPath'] . 'Image/' ; 
  2. $Config['FileTypesAbsolutePath']['Image']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'Image/' ; 
  3. 改为: 
  4. $Config['FileTypesPath']['Image']       = $Config['UserFilesPath'] . 'Image/'date('Ym',time()+3600*8).'/' ; 
  5. $Config['FileTypesAbsolutePath']['Image']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'Image/'date('Ym',time()+3600*8).'/' ; 

就是在后面加了date函数,因为我这里用的UTC时区,所以加了8小时.

二、修改Ecshop fckeditor上传图片的名字,重命名上传的图片的名字:

找到includes/fckeditor/editor/filemanager/connectors/php/io.php

找到SanitizeFileName函数:

  1. //$sNewFileName = preg_replace( '/\\\\|\\/|\\||\\:|\\?|\\*|"|<|>|[[:cntrl:]]/', '_', $sNewFileName ) ; 
  2. //把这一行注释掉,替换为: 
  3. $sExtension = substr$sNewFileName, (strrpos($sNewFileName,'.') + 1 ) ) ;  //获取扩展名 
  4. $sNewFileName = date('dHis-',time()+3600*8).rand(0,9999).'.'.$sExtension

替换之后的SanitizeFileName函数如下:

  1. function SanitizeFileName( $sNewFileName ) 
  2.     global $Config ; 
  3.  
  4.     $sNewFileName = stripslashes$sNewFileName ) ; 
  5.  
  6.     // Replace dots in the name with underscores (only one dot can be there... security issue). 
  7.     if ( $Config['ForceSingleExtension'] ) 
  8.         $sNewFileName = preg_replace( '/\\.(?![^.]*$)/''_'$sNewFileName ) ; 
  9.  
  10.     // Remove \ / | : ? * " < > 
  11.     //$sNewFileName = preg_replace( '/\\\\|\\/|\\||\\:|\\?|\\*|"|<|>|[[:cntrl:]]/', '_', $sNewFileName ) ; 
  12.     $sExtension = substr$sNewFileName, (strrpos($sNewFileName,'.') + 1 ) ) ; 
  13.     $sNewFileName = date('dHis-',time()+3600*8).rand(0,9999).'.'.$sExtension;  //20130305 
  14.     return $sNewFileName ; 

Tags: fckeditor上传图片 重命名图片

分享到: