### [帝国CMS如何以原文件名命名附件](https://www.prosaas.cn/article/3600) **Published:** 2019-11-18T02:59:52 **Author:** 5201314 **Excerpt:** 帝国CMS如何以原文件名命名附件?帝国CMS在通过编辑器的上传附件功能来上次附件时,原程序会给附件重新命名,命… **![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212122055365.jpg)** **帝国CMS如何以原文件名命名附件?** 帝国CMS在通过编辑器的上传附件功能来上次附件时,原程序会给附件重新命名,命名结果都是一大串的数字+字母组合来命名的,这种形式的命名方式,对用户来说看着很不舒服,也不利于我们通过FTP对附件进行调整或替换。 因此,有些时候我们就需要把上传的附件改成以原文件名来命名的规则,具体方法如下: 推荐:《帝国cms建站教程》 一、打开文件\\e\\class\\connect.php 查找到: 代码如下: $r\[filetype\]=GetFiletype($file\_name); 在下面加入: 代码如下: $filename2=str\_replace($r\[filetype\], '', $file\_name);//获得去掉后缀的文件名 $mytype = array (".txt", ".rar", ".zip", ".doc", ".docx", ".xlsx", ".ppt", ".pdf");//定义需要保留原名的文件类型 二、查找 代码如下: $r\[filename\]=$r\[insertfile\].$r\[filetype\]; 修改为: 代码如下: if(in\_array($r\[filetype\],$mytype)){ $r\[filename\]=$filename2."\_".$r\[insertfile\].$r\[filetype\];//将真实文件名加在随机码的前面中间以\_分隔 } else { $r\[filename\]=$r\[insertfile\].$r\[filetype\]; } 至此修改完成! 补充说明: 代码如下: $mytype = array (".txt", ".rar", ".zip", ".doc", ".docx", ".xlsx", ".ppt", ".pdf");   这一句就是定义哪些文件类型需要加上源文件名的。 .$r\[insertfile\]  这个代表的是随机码 .$r\[filetype\]   这个代表的是文件类型 $filename2 这个代表的是原文件名 以上就是帝国CMS如何以原文件名命名附件的详细内容,更多请关注知企PROSAAS其它相关文章! **Categories:** 帝国CMS ---