帝国CMS上传附件命名实现以原文件名命名的方法

| 2018-05-21 | |

摘要: 帝国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 这个代表的是原文件名


    推荐文章

    nuxt+axios跨域设置

    error:0308010C:digital envelope routines::unsu

    帝国CMS内容页列表页怎么调用多张图片显示

    帝国cms跨多表调用相关信息

    帝国CMS列表页判断是否有标题图片,如果没有就显示

    帝国7.5登陆js调用会员头像

    售后服务

    售后服务QQ:287785998

    服务时间:周一至周五 9:00-17:30

    微信扫一扫,关注更多精彩

    • 里奥模板微信号
      全面掌握一手资讯

    • 里奥模板QQ号
      精彩活动,推送提醒

    帝国模板

    可信网站 诚信网站 实名验证网站 实名网站 财付通

    粤ICP备08131584号-1