帝国CMS上传附件命名实现以原文件名命名的方法
帝国cms在通过编辑器的上传附件功能来上次附件时,原程序会给附件重新命名,命名结果都是一大串的数字+字母组合来命名的,这种形式的命名方式,对用户来说看着很不舒服,也不利于我们通过FTP对附件进行调整或替换。因此,有些时候我们就需要把上传的附件改成以原文件名来命名的规则,具体方法如下:
一、打开文件\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 这个代表的是原文件名
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341