帝国CMS 上传附件保持原文件名的方法!

帝国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];
        } 
复制代码

 

posted @   ninama  阅读(196)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示