企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## Coroutine::fgets 协程方式按行读取文件内容。 ~~~ function Coroutine::fgets(resource $handle); ~~~ `Co::fgets`底层使用了`php_stream`缓存区,默认大小为`8192`字节,可使用`stream_set_chunk_size`设置缓存区尺寸。 > `fgets`函数仅可用于文件类型的`stream`资源 <br> ## 参数 * `$handle`文件句柄,必须是`fopen`打开的文件类型`stream`资源 <br> ## 返回值 * 读取到`EOL`(`\r`或`\n`)将返回一行数据,包括`EOL` * 未读取到`EOL`,但内容长度超过`php_stream`缓存区`8192`字节,将返回`8192`字节的数据,不包含`EOL` * 达到文件末尾`EOF`时,返回空字符串,可用`feof`判断文件是否已读完 * 读取失败返回`false`,使用`swoole_last_error`函数获取错误码 <br> ## 示例 ~~~ $fp = fopen(__DIR__ . "/defer_client.php", "r"); go(function () use ($fp) { $r = co::fgets($fp); var_dump($r); }); ~~~