swoole_server->sendfile [编辑本页]

发送文件到TCP客户端连接。使用示例:

bool swoole_server->sendfile(int $fd, string $filename);
$serv->sendfile($fd, __DIR__.'/test.jpg');

sendfile函数调用OS提供的sendfile系统调用,由操作系统直接读取文件并写入socket。sendfile只有2次内存拷贝,使用此函数可以降低发送大量文件时操作系统的CPU和内存占用。

  • $filename 要发送的文件路径,如果文件不存在会返回false
  • 操作成功返回true,失败返回false

此函数与swoole_server->send都是向客户端发送数据,不同的是sendfile的数据来自于指定的文件。