如何更改帝国CMS上传附件名为源文件名+随机码
原文件名为 测试下载.rar
上传后,自动更名为 测试下载_9df430c26057400fca4a07bec9db3b62.rar
上传以下图片:
修改方法:
第一步:打开文件 /e/class/connect.php
查找:
$r[filetype]=GetFiletype($file_name);
在下面一行加入以下代码:
$filename2=str_replace($r[filetype], '', $file_name); //获得去掉后缀的文件名 $mytype = array (".txt", ".rar", ".zip", ".gif", ".jpg", ".png", ".swf");//定义需要保留原名的文件类型
继续查找:
$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”);
这一句就是定义哪些文件类型需要加上源文件名的。
也可以在文件名前面加上指定名称,如网站域名
if(in_array($r[filetype],$mytype)){$r[filename]="16css.com_".$filename2."_".$r[insertfile].$r[filetype];//将真实文件名加在随机码的前面中间以_分隔}else{$r[filename]=$r[insertfile].$r[filetype];}