Http\Response->sendfile
最后更新于:2022-04-02 06:33:41
# Http\\Response->sendfile
[TOC]
发送文件到浏览器。
~~~
function Http\Response->sendfile(string $filename, int $offset = 0, int $length = 0);
~~~
* `$filename`要发送的文件名称,文件不存在或没有访问权限`sendfile`会失败
* 底层无法推断要发送文件的MIME格式因此需要应用代码指定`Content-Type`
* 调用`sendfile`前不得使用`write`方法发送`Http-Chunk`
* 调用`sendfile`后底层会自动执行`end`
* `sendfile`不支持`gzip`压缩
* `$offset`上传文件的偏移量,可以指定从文件的中间部分开始传输数据。此特性可用于支持断点续传。
* `$length`发送数据的尺寸,默认为整个文件的尺寸
> `$length`、`$offset`参数在`1.9.11`或更高版本可用
## 使用示例
~~~
$response->header('Content-Type', 'image/jpeg');
$response->sendfile(__DIR__.$request->server['request_uri']);
~~~
';