PHP下载限速案例

<?php
//编写思路参考http://www.80zx.com/houduan/100040.html修改而来
$gfile='https://file.80zx.com/d/file/p/2019/06-20/8af8742b280becc0ea9bb8d494e98444.rar';
$res=pathinfo($gfile);
$header_array = get_headers($gfile, true);
$fileSize = $header_array['Content-Length'];
header("Content-type:application/octet-stream");
header("Accept-Ranges:bytes");
header("Accept-Length:".$fileSize);
header("Content-Disposition: attachment; filename=".$res['basename']);
//不设置的话要等缓冲区满之后才会响应
ob_end_clean();//缓冲区结束
ob_implicit_flush();//强制每当有输出的时候,即刻把输出发送到浏览器\
header('X-Accel-Buffering: no'); // 不缓冲数据

$limit=1024*1024;
$count=0;
$fp=fopen($gfile,"rb");

while(!feof($fp)){
    $data=fread($fp,$limit);
    echo $data;//输出文件
    //通过sleep限制速率
    sleep(0.1);
}


支付宝扫码打赏 微信扫码打赏

如果本文对你有帮助,欢迎打赏本站

喜欢 ()or分享
    匿名评论
  • 评论
人参与,条评论