🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# Coroutine::fgets [TOC] 协程方式按行读取文件内容。 ~~~ function Coroutine::fgets(resource $handle); ~~~ `Co::fgets`底层使用了`php_stream`缓存区,默认大小为`8192`字节,可使用`stream_set_chunk_size`设置缓存区尺寸。 > 需要`2.1.1`或更高版本 > `fgets`函数仅可用于文件类型的`stream`资源 ## 参数 * `$handle`文件句柄,必须是`fopen`打开的文件类型`stream`资源 ## 返回值 * 读取到`EOL`(`\r`或`\n`)将返回一行数据,包括`EOL` * 未读取到`EOL`,但内容长度超过`php_stream`缓存区`8192`字节,将返回`8192`字节的数据,不包含`EOL` * 达到文件末尾`EOF`时,返回空字符串,可用`feof`判断文件是否已读完 * 读取失败返回`false`,使用`swoole_last_error`函数获取错误码 ## 示例 ~~~ $fp = fopen(__DIR__ . "/defer_client.php", "r"); go(function () use ($fp) { $r = co::fgets($fp); var_dump($r); }); ~~~