自定义修改帝国CMS附件文件名的方法
帝国CMS附件文件名自定义修改方法如下:首先,登录帝国CMS后台管理系统。然后,在左侧菜单栏中找到“系统”选项,点击进入。接着,在下拉菜单中选择“系统参数设置”,进入系统参数设置页面。在这个页面中,找到“附件设置”部分,可以看到“附件保存方式”选项。点击这个选项,可以选择“按日期”或“按ID”来保存附件。如果选择了“按日期”,那么附件的文件名就是上传日期;如果选择了“按ID”,那么附件的文件名就是文章的ID。
帝国CMS附件文件名默认是是MD5的方法命名的,如果项目不需要这样该如何自定义帝国CMS附件名称了?,几种情况下的修改方法都分享给大家。
用原文件名
1、打开 /e/class/connect.php,
2、查找
//返回上传文件名
3、修改为
functionReturnDoTranFilename($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、修改为
//返回上传文件名functionReturnDoTranFilename($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];}
网上找的没测试,看着挺繁琐,自行测试可行性。