Coroutine::fwrite

最后更新于:2022-04-02 06:26:10

# Coroutine::fwrite [TOC] 协程方式向文件写入数据。 ~~~ 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`,如`STDOUT`、`Socket`,请勿使用`fwrite`操作此类资源。 `4.0.4`以上版本`fwrite`方法支持了非文件类型的`stream`资源,底层会自动根据`stream`类型选择使用`AIO`线程池或`EventLoop`实现。 ## 示例 ~~~ use Swoole\Coroutine as co; $fp = fopen(__DIR__ . "/test.data", "a+"); co::create(function () use ($fp) { $r = co::fwrite($fp, "hello world\n", 5); var_dump($r); }); ~~~
';