断点续传

码农天地 -
断点续传
断点续传

断点续传就是使浏览器分段下载文件的一种实现方式。在 HTTP/1.1 开始支持。当我们需要下载很大的文件时,如果一次性将文件取出然后返回给客户端,一般会导致OOM错误。此时我们就需要断点续传的技术将数据分批输出。

断点续传主要用到HTTP请求头中的content-range 字段,具体见下方代码注解

<?php

$filesize = filesize("./logs/2020-06-09.log");
header("Content-type: application/octet-stream");        // 二进制流数据
header(sprintf('content-length:%u', $filesize));        // 指明文件的大小
// 用于响应头,指定整个实体中的一部分的插入位置,他也指示了整个实体的长度。
header(sprintf('content-range:bytes %s-%s/%s', 0, 1024, $filesize));
$f = fopen("./logs/2020-06-09.log", 'r');
while (!feof($f)) {
  echo fread($f, 1024);
  ob_flush();
}
特别申明:本文内容来源网络,版权归原作者所有,如有侵权请立即与我们联系(cy198701067573@163.com),我们将及时处理。

php介绍

PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。

Tags 标签

php

扩展阅读

加个好友,技术交流

1628738909466805.jpg