温馨提醒

如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢

本文最后更新于2025年4月27日,已超过 180天没有更新

帝国8.0上传文件命名有两种选择,一个是MD5进行重命名,一个是以时间戳进行重命名,但如果想保持上传文件名不变,如何修改?

如果要保持上传文件原名不变,但又不影响系统后续上传可能使用到重命名功能,我们可以这样做:

解决步骤:

1.前往帝国CMS的网站根目录下,根据路径:\eadmin\admin\SetEnews.php,找到SetEnews.php这个文件;

2.查找SetEnews.php这个文件里的元素ID:id="fntype";在第二个opinion(大约1386行)之下,复制一个后改为如图的代码:

<option value="2"<?=$r['fntype']==2?' selected':''?>>原命名</option>

3.返回系统后台,刷新后,查看下拉显示效果

4.查找目录\e\class\connect.php,下的文件connect.php;搜索“返回上传文件名”;找到大约5482行;

将原代码:

if($public_r['fntype']==0)
    {
        $filename=md5(uniqid(microtime()).EcmsRandInt());
    }
    else
    {
        $filename=time().EcmsRandInt(10000000,99999999);
    }
    return $filename;

修改为:

if($public_r['fntype']==0)
    {
        $filename=md5(uniqid(microtime()).EcmsRandInt());
    }
    else if($public_r['fntype']==1)
    {
        $filename=time().EcmsRandInt(10000000,99999999);
    } 
    else
    {
        $filename = pathinfo($_FILES['file']['name'][0])['filename'];
    }
    return $filename;

5.保存后,前往系统设置>>>系统参数设置>>>文件设置>>>附件文件命名格式;选中选项为“原命名”,提交保存;

6.前往附件管理,上传文件测试:

7.打开公共附件,发现上传附件都保持了原名,修改OK。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系客服QQ3387285338进行处理。