欢迎您光临自学哈网,只为分享网络知识教程,供大家学习参考!

「自学哈网」帝国CMS如何支持弹出下载txt jpg等格式的方法是什么?

作者 : 自学哈 本文共1051个字,预计阅读时间需要3分钟 2022-11-26 共123人阅读
也想出现在这里? 联系我们

本文介绍通过修改系统文件,实现在用户点击下载的时候默认直接弹出下载而不是打开文件。

功能位置:后台->其他管理->下载模型管理->管理地址前缀

相关函数:e/class/DownSysFun.phpDoTypeForDownurl(),QDownLoadFile(),DownSoft()
功能解释:
HEADER:使用header转向,通常设为这个。
META:直接转自,如果是FTP地址推荐选择这个。
READ:使用PHP程序读取,防盗链较强,但较占资源,服务器本地小文件可选择。

帝国CMS弹出下载txt,xls等说明

1、看下面粘贴的帝国原函数DoTypeForDownurl() Header 与 Meta 两种方式都使用的真实地址,在这两种方式下浏览器不能读取的文件格式,例如RAR,ZIP等将直接直接弹出一个真实地址下载,txt等浏览器可读的文件格式则直接在线浏览;

2、默认不选择前缀的情况下,使用是Header

3、READ 这种方式下是利用PHP读取文件,并传递给浏览器,无论 RAR 还是TXT都会弹出下载,而不是浏览器直接读取,弹出的地址也是加密的地址类似:

xxx.com/enews=DownSoft&classid=39&id=11&pathid=0&pass=7b9516932a88d44b4e4610e209f6288d&p=22:::J2qCrBGqmrxK

4、READ的加密地址判断是否有下载权限,也就是地址是否正确是由e/class/DownSysFun.php中DownSoft()函数来判断的,经测试如果不更改后台->系统设置->模型设置->下载验证码 的情况下流传出去是可以持续被下载的(没有用户组,积分等判断限制 如果要避免那么e/class/DownSysFun.php 第一行 $DownSys_CheckIp=0; 中的0改为1),帝国CMS也是通过这个方式来防盗链;

5、如果我不想使用下载地址前缀,而让TXT等格式可以弹出下载,那么你可以在e/class/DownSysFun.php中搜索

DoTypeForDownurl($downurl,$downurlr['downtype']);

上一行加入如下代码:

$type2r=array(".xls",".txt",);
if(in_array(GetFiletype($downurl),$type2r))
{
$downurlr['downtype']=2;
}

修改前请先备份文件,以免发生错误后进行还原。

本站声明:
本站所有资源来源于网络,分享目的仅供大家学习和交流!如若本站内容侵犯了原著者的合法权益,可联系邮箱976157886@qq.com进行删除。
自学哈专注于免费提供最新的分享知识、网络教程、网络技术的资源分享平台,好资源不私藏,大家一起分享!

自学哈网 » 「自学哈网」帝国CMS如何支持弹出下载txt jpg等格式的方法是什么?
也想出现在这里? 联系我们
© 2022 Theme by - 自学哈网 & WordPress Theme. All rights reserved 浙ICP备2022016594号