帝国cms下载txt文件浏览器带下载进度显示

aaa

帝国默认TXT格式的文件是不可以下载,不修改源文件他会直接打开

方法TXT弹出下载:

测试版本:帝国CMS7.0

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

相关函数:e/class/DownSysFun.php DoTypeForDownurl() , QDownLoadFile() , DownSoft()

功能解释:

HEADER:使用header转向,通常设为这个。

META:直接转自,如果是FTP地址推荐选择这个。

READ:使用PHP程序读取,防盗链较强,但较占资源,服务器本地小文件可选择。

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']);上一行加入如下代码:

  view plaincopy to clipboardprint?

//trylife add check type 20101231

//不使用下载地址前缀 让txt等浏览器可读类型文件弹出下载

//A.F4

$type2r=array(".xls",".txt",);

if(in_array(GetFiletype($downurl),$type2r))

{

$downurlr['downtype']=2;

}

此方法可以下载TXT格式文件,但下载没有进度条显示

加入以下代码可实现TXT进度条下载:

//下载

$filesize = filesize($file);

Header('Pragma: public');

Header('Last-Modified:'.gmdate('D, d M Y H:i:s') . ' GMT');

Header('Cache-Control: no-store, no-cache, must-revalidate');

Header('Cache-Control: pre-check=0, post-check=0, max-age=0');

Header('Content-Transfer-Encoding: binary');

Header('Content-Encoding: none');

Header("Content-type: application/octet-stream");

Header("Content-Disposition: attachment; filename=".$filename);

Header('Content-length: '.$filesize);

echo ReadFile($file);

本文标题:帝国cms下载txt文件浏览器带下载进度显示

本文链接:https://www.kaifatu.com/article/1131.html

相关文章

帝国cms后台替换图片域名绝对地址方法图文教程

帝国cms后台替换图片域名绝对地址方法图文教程…

Kaifatu 帝国cms教程
2021-02-12 195

帝国CMS终极栏目和非终极栏目的区别

栏目功能说明…

Kaifatu 帝国cms教程
2021-01-20 452

第三节:分析目标网站栏目

前言:当我们把本地服务器搭建完成后,源码安装完成后,接下来需要去分析被仿的网站,为什么这么做?因为接下来,我们要搭建后台栏目及制作页面等。…

Kaifatu 帝国cms教程
2021-03-03 464

帝国cms认证码和验证码的区别

答:1、认证码是安装时初始化管理员账号设置的验证信息,用于内部人员验证。2、验证码是防灌水机重复提交时使用。…

Kaifatu 帝国cms教程
2021-06-10 113

帝国cms网站地图sitemap制作与自动更新

帝国cms网站地图sitemap制作与自动更新…

Kaifatu 帝国cms教程
2021-07-14 67
发表评论
暂无评论