所谓断点续传,也就是要从文件已经下载的地方开始继续下载。在以前版本的 HTTP 协议是不支持断点的,HTTP/1.1 开始就支持了。
新建一个类:FileDownload.class.php
<?php /** * Created by PhpStorm. * User: 63448 * Date: 2018/7/4 * Time: 19:46 */ /** php下载类,支持断点续传 * download: 下载文件 * setSpeed: 设置下载速度 * getRange: 获取header中Range */ class FileDownload { /** 下载 * @param String $file 要下载的文件路径 * @param String $name 文件名称,为空则与下载的文件名称一样 * @param boolean $reload 是否开启断点续传 */ public function download($file, $name = '', $reload = false) { $fp = @fopen($file, 'rb'); if ($fp) { if ($name == '') { $name = basename($file); } $header_array = get_headers($file, true); //var_dump($header_array);die; // 下载本地文件,获取文件大小 if (!$header_array) { $file_size = filesize($file); } else { $file_size = $header