其实,这是因为php的buffer引起的,php buffer缓冲区,会使php不会马上输出数据,而是需要等缓冲区满之后才会响应到web服务器,通过web服务器再响应到浏览器中,详细请看:关于php的buffer...,把buffer改成更大的值,例如102400,那么就会变成每秒下载100kb:
文件断点续传
那么,我们该如何实现文件断点续传呢?...首先,我们要了解http协议中,关于请求头的几个参数:
content-range和range,
在文件断点续传中,必须包含一个断点续传的参数,例如:
请求下载头:
Range: bytes=0-...头,而当断点续传时,由于再之前已经获得了n字节数据,所以可以直接请求
Range: bytes=n字节-总文件大小,代表着n字节之前的数据不再下载
响应头也是如此,那么,我们通过之前的限速下载,进行暂停...我们只需要输出61400之后的文件内容即可
为了方便测试查看,我将文件改为了2.txt,内容如下:
编写可断点续传代码:
<?php
/**
* Created by PhpStorm.