getLength($filesize)); header('Content-Range: ' . $range->getContentRangeHeader($filesize)); $start = $range->getFirstBytePosition($filesize); if ($start > 0) { fseek($fp, $start, SEEK_SET); } $length = $range->getLength($filesize); $chunk_size = 4096; while ($length) { $read = $length > $chunk_size ? $chunk_size : $length; $length -= $read; echo fread($fp, $read); } } fclose($fp); } }