Coroutine::fread

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

# Coroutine::fread [TOC] 协程方式读取文件。 ~~~ function Coroutine::fread(resource $handle, int $length = 0); ~~~ > 需要`2.0.11`或更高版本 ## 参数 * `$handle`文件句柄,必须是`fopen`打开的文件类型`stream`资源 * `$length`读取的长度,默认为`0`,表示读取文件的全部内容 ## 返回值 读取成功返回字符串内容,读取失败返回`false` ## 版本差异 `4.0.4`以下版本`fread`方法不支持非文件类型的`stream`,如`STDIN`、`Socket`,请勿使用`fread`操作此类资源。 `4.0.4`以上版本`fread`方法支持了非文件类型的`stream`资源,底层会自动根据`stream`类型选择使用`AIO`线程池或`EventLoop`实现。 ## 示例 ~~~ use Swoole\Coroutine as co; $fp = fopen(__DIR__ . "/defer_client.php", "r"); co::create(function () use ($fp) { fseek($fp, 256); $r = co::fread($fp); var_dump($r); }); ~~~
';