帝国CMS附件文件名自定义修改方法

 3499

帝国CMS附件文件名自定义修改方法


帝国CMS附件文件名默认是是MD5的方法命名的,如果项目不需要这样该如何自定义帝国CMS附件名称了?,几种情况下的修改方法都分享给大家。

用原文件名

1、打开 /e/class/connect.php,

2、查找

  1. //返回上传文件名

3、修改为

  1. function ReturnDoTranFilename($file_name,$classid){
  2.     $extension = substr(strrchr($file_name, '.'), 1);
  3.     $filename=basename($file_name,".".$extension).date("YmdHis");
  4.     return $filename;
  5. }

这种方法比较简单明了,一看就懂。


用户上传文件名

1、打开 /e/class/connect.php,

2、查找

  1. //返回上传文件名

3、修改为

  1. //返回上传文件名
  2. function ReturnDoTranFilename($file_name,$classid){
  3.     //$filename=md5(uniqid(microtime()).EcmsRandInt());
  4.     $userid=getcvar('loginuserid',1);
  5.     if(!$userid)$userid=getcvar('mluserid');
  6.     if(!$userid)$userid='0';
  7.     $filename=$userid."_".date('YmdHis');
  8.     return $filename;
  9. }

这种方法是以用户ID+时间的方式命名,如果用户有大量上传,可能会出现重名的可能性,所以不建议!


其他方法

1、打开  /e/class/connect.php,

2、查找

  1. //返回上传文件名

3、在这句下面加入下面两行代码

  1. $filename2=str_replace($r[filetype], ”, $file_name); //获得去掉后缀的文件名
  2. $mytype = array (“.cod”, “.jad”); //定义需要保留原名的文件类型

4、查找

  1. $r[filename]=$r[insertfile].$r[filetype];

5、修改为

  1. if (in_array($r[filetype],$mytype)) { 
  2.     $r[filename]=$filename2.$r[filetype]; //真实文件名 
  3. } else { 
  4.     $r[filename]=$r[insertfile].$r[filetype]; 
  5. }

网上找的没测试,看着挺繁琐,自行测试可行性。


TAG标签:
本文网址:https://www.zztuku.com/detail-13635.html
站长图库 - 帝国CMS附件文件名自定义修改方法
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐