异步文件系统IO
最后更新于:2022-04-02 02:20:37
[TOC]
## 异步读文件
```
//方法一
swoole_async_readfile(string $filename, mixed $callback);
//方法二
bool swoole_async_read(string $filename, mixed $callback, int $size = 8192, int $offset = 0);
```
## 异步写文件
最大写入为4M,最后一个参数如果加`FILE_APPEND` 则追加文字
```
$file_content ="test 要写入的内容".PHP_EOL;
swoole_async_writefile(__DIR__.'/test.log', $file_content, function($filename) {
echo "wirte ok.{$filename}".PHP_EOL;
}, FILE_APPEND);
```
### 使用场景
可再 http_server中加入访问日志
```
$http->on('request',function ($request,$response){
$conent = [
'date:'=>date('Y-m-d H:i:s',time()),
'get:'=>$request->get,
'post:'=>$request->post,
'header:'=>$request->header,
];
swoole_async_writefile(__DIR__ . '/access.log', json_encode($conent,JSON_UNESCAPED_UNICODE), function (){}, FILE_APPEND);
$response->end('
';