swoole_async_writefile
异步写文件,调用此函数后会立即返回。当写入完成时会自动回调指定的callback函数。
Swoole\Async::writeFile(string $filename, string $fileContent, callable $callback = null, int $flags = 0)
swoole_async_writefile('test.log', $file_content, function($filename) {
echo "wirte ok.\n";
}, $flags = 0);
- 参数1为文件的名称,必须有可写权限,文件不存在会自动创建。打开文件失败会立即返回
false
- 参数2为要写入到文件的内容,最大可写入
4M
- 参数3为写入成功后的回调函数,可选
- 参数4为写入的选项,可以使用
FILE_APPEND
表示追加到文件末尾 - 如果文件已存在,底层会覆盖旧的文件内容
FILE_APPEND
在1.9.1
或更高版本可用
Linux
原生异步IO
不支持FILE_APPEND
,并且写入的内容长度必须为4096
的整数倍,否则底层会自动在末尾填充0