帝国CMS上传附件保持原文件名方法
找到 /e/class/connect.php
查找 $r[filetype]=GetFiletype($file_name);
在下面加入
$filename2=str_replace($r[filetype], '', $file_name);
$mytype = array (".rar", ".docx", ".zip", ".7z", ".doc", ".mp4", ".mp3", ".xls", ".xlsx", ".jpg", ".png", ".txt", ".gif", ".swf", ".wmv");
查找 $r[filename]=$r[insertfile].$r[filetype];
修改为
复制代码
if(in_array($r[filetype],$mytype)){
$r[filename]=$filename2.$r[filetype]; //真实文件名
}
else
{
$r[filename]=$r[insertfile].$r[filetype];
}
源码中的代码:
复制代码
//上传文件
function DoTranFile($file,$file_name,$file_type,$file_size,$classid,$ecms=0){
global $public_r,$class_r,$doetran,$efileftp_fr;
$classid=(int)$classid;
//文件类型
$r[filetype]=GetFiletype($file_name);
$filename2=str_replace($r[filetype], '', $file_name);
$mytype = array (".pdf", ".rar", ".docx", ".zip", ".7z", ".doc", ".mp4", ".mp3", ".xls", ".xlsx", ".jpg", ".png", ".txt", ".gif", ".swf", ".wmv");
//文件名
$r[insertfile]=ReturnDoTranFilename($file_name,$classid);
// $r[filename]=$r[insertfile].$r[filetype];
if(in_array($r[filetype],$mytype)){
$r[filename]=$filename2.$r[filetype]; //真实文件名
}
else
{
$r[filename]=$r[insertfile].$r[filetype];
}