您现在的位置是:帝国CMS上传附件保留原文件名

帝国CMS上传附件保留原文件名

分类: PHP 日期:2019-08-19点击:2156

修改帝国CMS上传文件函数DoTranFile



修改函数ReturnDoTranFilename,打开文件/e/class/connect.php

找到function ReturnDoTranFilename($file_name,$classid)

保留原文件名.png


修改后的代码

//上传文件
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(".txt", ".rar", ".zip", ".doc", ".docx", ".xls", ".xlsx", ".ppt", ".pdf"); //定义需要保留原名的文件类型
    //文件名
    $r[insertfile] = ReturnDoTranFilename($file_name, $classid);
    $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];
    }
    //日期目录
    $r[filepath] = FormatFilePath($classid, $mynewspath, 0);
    $filepath = $r[filepath] ? $r[filepath].'/' : $r[filepath];
    //存放目录
    $fspath = ReturnFileSavePath($classid);
    $r[savepath] = eReturnEcmsMainPortPath().$fspath['filepath'].$filepath; //moreport
    //附件地址
    $r[url] = $fspath['fileurl'].$filepath.$r[filename];
    //缩图文件
    $r[name] = $r[savepath]."small".$r[insertfile];
    //附件文件
    $r[yname] = $r[savepath].$r[filename];
    $r[tran] = 1;
    //验证类型
    if( CheckSaveTranFiletype($r[filetype]) ) {
        if( $doetran ) {
            $r[tran] = 0;
            return $r;
        } else {
            printerror('TranFail', '', $ecms);
        }
    }
    //上传文件
    $cp = @move_uploaded_file($file, $r[yname]);
    if( empty($cp) ) {
        if( $doetran ) {
            $r[tran] = 0;
            return $r;
        } else {
            printerror('TranFail', '', $ecms);
        }
    }
    DoChmodFile($r[yname]);
    $r[filesize] = (int) $file_size;
    //FileServer
    if( $public_r['openfileserver'] ) {
        $efileftp_fr[] = $r['yname'];
    }
    return $r;
}

标签: PHP ecms

站长简介

    姓名:喻理
    微信:yuli0927
    邮箱:yuli0927@126.com
    不懂业务的运维工程师不是一个好程序员。

分类

最新文章

热门文章

全站标签