酷源码-帝国cms模板及插件下载交流论坛

×

用户登录

  1. 用户名:
  2. 密    码:
  3. 注册

百度快速排名1-7天上首页
帝国cms插件定制开发
★香港+美国BGP服务器★
香港+美国BGP服务器
帝国cms小程序定制开发
帝国cms建站定制开发
文字广告位出租10点/天
文字广告位出租10点/天
文字广告位出租10点/天
文字广告位出租10点/天
文字广告位出租10点/天
文字广告位出租10点/天
文字广告位出租10点/天
文字广告位出租10点/天
文字广告位出租0点/天

查看: 回复:0

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

 

2764

主题

2764

帖子

1

积分

管理员

版主

积分
1
登陆

Warning: Illegal string offset 'loginnum' in /www/wwwroot/kyuanma.com/e/data/tmp/dt_temptext13.php on line 257
私信
注册时间

Warning: Illegal string offset 'registertime' in /www/wwwroot/kyuanma.com/e/data/tmp/dt_temptext13.php on line 261

Warning: date() expects parameter 2 to be long, string given in /www/wwwroot/kyuanma.com/e/data/tmp/dt_temptext13.php on line 261
最后登陆时间

Warning: Illegal string offset 'lasttime' in /www/wwwroot/kyuanma.com/e/data/tmp/dt_temptext13.php on line 263

Warning: date() expects parameter 2 to be long, string given in /www/wwwroot/kyuanma.com/e/data/tmp/dt_temptext13.php on line 263
楼主
发表于 2020-09-22 08:55:43
跳转

帝国cms在通过编辑器的上传附件功能来上次附件时,原程序会给附件重新命名,命名结果都是一大串的数字+字母组合来命名的,这种形式的命名方式,对用户来说看着很不舒服,也不利于我们通过FTP对附件进行调整或替换。因此,有些时候我们就需要把上传的附件改成以原文件名来命名的规则,具体方法如下:

一、打开文件eclassconnect.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 这个代表的是原文件名

验证码 换一个

扫一扫,反馈当前页面

咨询反馈
扫码关注

阿里云代理商公众号

返回顶部