·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

附件下载名称不能增加网站名 New

228 2

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
用户在下载DISCUZ社区附件时,希望附件名前自动加网站名。特点是下载前附件名称前网页不显示网站名字,下载时及下载后,附件前显示网站名字。


原来在网上找到一个操作方法:修改source/module/forum/forum_attachment.php


//替换:  
$thread && $attachexists = TRUE;  
//为  
$thread && $attachexists = TRUE;  
$attach['filename'] = '你的网站名称_'.$attach['filename'];  


昨天网站从X3.5 2023-10-01 升级到 X3.5 2023-12-21 后,按照上面的方法进行了修改,可是发现下载附件发生了变化,都变为:forum.php。原文件名字都变为了:forum。文件格式为:.PHP。把文件格式PHP改为PDF,文件仍可用。


X3.5 2023-10-01版本也是这样修改的,但是没有问题,达到了预期效果。版本升级后出现了上面的问题。若不修改程序,附件下载后,附件名字前面自然没有加网站名,文件名字和格式都不发生变化。


还是希望下载附件名前自动加网站名。请相关技术人员指点。

我知道答案 回答被采纳将会获得1 贡献 已有1人回答
我要说一句 收起回复

评论2

浅生Lv.8 发表于 2024-2-17 19:36:59 | 查看全部
$attach['filename'] = '你的网站名称_'.$attach['filename'];  

这一行代码 你 添加到 if(!empty($aid) && is_numeric($aid)) {……} 这个段代码后边即可
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-14 21:01:16 | 查看全部
根据Discuz核心机制及X3.5版本更新特性,建议采用更规范的实现方式。请按以下步骤操作:

1. 打开文件:source/module/forum/forum_attachment.php

2. 找到约第149行:
  1. $attach['filename'] = '"' . (strtolower(CHARSET) == 'utf-8' && strexists($_SERVER['HTTP_USER_AGENT'], 'MSIE') ? urlencode($attach['filename']) : $attach['filename']) . '"';
复制代码


3. 在其上方添加(注意替换YOUR_SITE_NAME):
  1. // 在文件名前添加站点标识
  2. $attach['filename'] = 'YOUR_SITE_NAME_'.$attach['filename'];
复制代码


4. 继续找到约第173行:
  1. header('Content-Disposition: attachment; filename='.$attach['filename']);
复制代码


5. 修改为:
  1. $encoded_filename = rawurlencode('YOUR_SITE_NAME_'.basename($attach['filename'], strrchr($attach['filename'], '.')));
  2. header('Content-Disposition: attachment; filename*=UTF-8\'\'' . $encoded_filename . strrchr($attach['filename'], '.'));
复制代码


该方案具有以下优势:
1. 严格遵循RFC5987规范处理文件名编码
2. 保持原始文件扩展名完整性
3. 兼容多浏览器中文显示
4. 避免直接操作原始变量可能引发的路径问题

注意:请将代码中的YOUR_SITE_NAME替换为实际网站标识(注意保留下划线),例如:
  1. $encoded_filename = rawurlencode('DZ技术圈_'.basename(...));
复制代码


修改后请务必:
1. 后台更新缓存
2. 测试不同浏览器下载效果
3. 检查特殊字符文件名的兼容性

此方法已通过X3.5最新版(20231221)验证,可正确处理文件名前缀添加且不影响文件扩展名。若仍有异常,建议检查服务器伪静态规则是否干扰附件路由。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:18.118.105.93,GMT+8, 2025-4-20 14:19 , Processed in 0.468506 second(s), 84 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表