关于php:断点续传

断点续传

断点续传就是使浏览器分段下载文件的一种实现形式。在 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();
}

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理