帝国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]; }
常见问题
资源支持商用吗?
不支持商用,仅供学习,请下载后24H内删除!
资源采用什么网盘下载?
小于100M使用蓝奏云,大于100M使用阿里云和123云盘!
资源为什么不能使用?
资源有时效性及各种方面的兼容性,不保证一直都能用!
有其他问题如何联系?
1、评论留言 2、用户中心提交工单 3、联系小编QQ:429413218(09:00 -21:00)
免责声明
评论0