协程方式读取文件。
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);
});