完整的X-Accel-Redirect限速下载大文件方案
作者:Admin采集插件
时间:2023-04-08
浏览:55
分类:php教程
来源:互联网收录
前言
网上搜索X-Accel-Redirect限速下载都是千篇一律的教程,如果按照网上的教程开发,下载大文件时,CMS自动采集测试还是下载一半会失败。
CMS自动采集研究了很久,发现网上的分享的代码,缺少很多参数,整理分享一篇完整的X-Accel-Redirect大文件下载方案。
准备工作
在写代码前,你需要修改环境配置,否则大文件下载 低配服务器下载一半会失败。
1、修改php上传限制,比如:宝塔->软件商店->已安装~>PHP->.上传限制->修改为10240->保存
2、修改PHP超时限制,比如:宝塔->软件商店->已安装->PHP->超时限制->修改为3600->保存
3、修改nginx上传限制,比如:宝塔->软件商店->己安装~>Nginx->性能调整->修改连接超时世间为3600-->保存
4、修改Nginx超时限制,比如:宝塔->软件商店->己安装~>Nginx->性能调整->修改最大上传文件为10240->保存
5、最后重启PHP和重启Nginx,最好是重启服务器最保险。
X-Accel-Redirect示例
然后就是完整的X-Accel-Redirect下载代码示例了,已测试,完美无错,1G1H的服务器可低速下载不失败。
//限速 $download_rate=202400; //防止GZIP压缩 header('Cache-Control: no-transform'); //请求类型 header('Content-Type:application/octet-stream'); //下载文件名称 header('Content-Disposition: attachment; filename="'.$filename.'";filename*=utf-8'."''".$filename.".".$ext); //开始下载 header('X-Accel-Redirect: '.$downurl); header('X-Sendfile: '.$downurl); header("X-Accel-Buffering: yes"); header('X-Accel-Limit-Rate: '.$download_rate); header("Accept-Ranges: none");
$filename为文件名称
$ext为文件后缀,也可以不要
$downurl为下载文件地址
$download_rate为限速多少B
以上变量自己读取自己的数据即可。
本文章来自互联网,有问题请联系QQ:1739635
免责声明:1.凡本站注明“来源:XXX(非
CMS自动采集助手
)”的作品,均转载自其它媒体,所载的文章、图片、音频视频文件等资料的版权归版权所有人所有,如有侵权,请联系1321198484@qq.com
处理;2.凡本站转载内容仅代表作者本人观点,与CMS自动采集助手
无关。