帝国cms教程

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

我的站长站 2022-12-24 人阅读

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

用原文件名

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

2、查找

//返回上传文件名

3、修改为

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

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

用户上传文件

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

2、查找

//返回上传文件名

3、修改为

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

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

其他方法

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

2、查找

//返回上传文件名

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

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

4、查找

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

5、修改为

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

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

相关推荐
  • 帝国CMS附件
  • 帝国CMS修改上传附件名称为原名称加随机码的方法

    帝国CMS上传附件原名称为Test.apk,上传后的文件名:Test_486453473f66d07e393bb0159eff5618.apk,现在想改成原名称加随机码的方法。修改方法1、修改文件:/e/class/connect.php,查找如下代码:$r[filetype]=GetFiletype($file_name);在下面加入如下代码:$...

    帝国cms教程 41 1年前
  • 帝国CMS附件文件名自定义修改方法

    帝国CMS附件文件名默认是是MD5的方法命名的,如果项目不需要这样该如何自定义帝国CMS附件名称了?,几种情况下的修改方法都分享给大家。用原文件名1、打开 /e/class/connect.php,2、查找//返回上传文件名3、修改为function ReturnDoTranFilename($file_nam...

    帝国cms教程 67 1年前
  • 修改帝国cms默认附件存放目录

    帝国CMS系统,上传的附件默认是存放于根目录下/d/file/文件夹中,使用帝国CMS建站的朋友,有时为了方便管理文件,想将文件存放在根目录中,比如根目录下的files文件夹中。但是在后台系统参数设置>附件地址,修改为/files/后,上传的文件总是显示不出来,这是因为我...

    帝国cms教程 38 1年前
最新更新