网站地图    收藏   

主页 > 后端 > ecshop教程 >

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

来源:自学PHP网    时间:2014-11-28 23:31 作者: 阅读:

[导读] Ecshop上传的图片都是放在images upload Image 下面的,图片多了就不爽了,Ecshop后台fckeditor上传图片路径修改和重命名上传图片 看了网上很多修改的地方,自己也测试了好几次,现在终于可以了...

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

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 ; 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论