× 警告!旧版文档已经暂停维护,请查看新版文档。点击前往新版文档

如何传入私有的回调函数给callable且调用时不报错

发送文件到浏览器。

function swoole_http_response->sendfile(string $filename, int $offset = 0, int $length = 0);
  • $filename 要发送的文件名称,文件不存在或没有访问权限sendfile会失败
  • 底层无法推断要发送文件的MIME格式因此需要应用代码指定Content-Type
  • 调用sendfile后会自定执行end,中途不得使用Http-Chunk
  • sendfile不支持gzip压缩
  • $offset 上传文件的偏移量,可以指定从文件的中间部分开始传输数据。此特性可用于支持断点续传。
  • $length 发送数据的尺寸,默认为整个文件的尺寸

$length, $offset参数在1.9.11或更高版本可用

使用示例

$response->header('Content-Type', 'image/jpeg');
$response->sendfile(__DIR__.$request->server['request_uri']);