Coroutine::fwrite

协程方式向文件写入数据。

  1. function Coroutine::fwrite(resource $handle, string $data, int $length = 0);

需要2.0.11或更高版本

参数

  • $handle文件句柄,必须是fopen打开的文件类型stream资源
  • $data要写入的数据内容,可以是文本或二进制数据
  • $length写入的长度,默认为0,表示写入$data的全部内容,$length必须小于$data的长度

返回值

写入成功返回数据长度,失败返回false

版本差异

4.0.4以下版本fwrite方法不支持非文件类型的stream,如STDOUTSocket,请勿使用fwrite操作此类资源。

4.0.4以上版本fwrite方法支持了非文件类型的stream资源,底层会自动根据stream类型选择使用AIO线程池或EventLoop实现。

示例

  1. use Swoole\Coroutine as co;
  2. $fp = fopen(__DIR__ . "/test.data", "a+");
  3. co::create(function () use ($fp)
  4. {
  5. $r = co::fwrite($fp, "hello world\n", 5);
  6. var_dump($r);
  7. });