函数名称:RRDGraph::saveVerbose()
适用版本:RRDTool 1.3.0 或更高版本
函数说明:RRDGraph::saveVerbose() 方法用于生成 RRD 图表,并将图表数据以字符串形式返回,同时还可以保存生成的图表到指定的文件中。
用法示例:
<?php
// 创建 RRDGraph 对象
$graph = new RRDGraph();
// 设置 RRD 数据库文件路径
$rrdFile = '/path/to/rrd/file.rrd';
$graph->setOptions([
"--title" => "Example Graph",
"--start" => time() - 3600, // 开始时间为一小时前
"--end" => time(), // 结束时间为当前时间
]);
// 添加数据源和图表定义
$graph->addDataSource([
"DS:temperature:GAUGE:600:U:U", // 温度数据源
"DS:humidity:GAUGE:600:U:U", // 湿度数据源
]);
$graph->addGraph([
"DEF:temperature=$rrdFile:temperature:AVERAGE",
"DEF:humidity=$rrdFile:humidity:AVERAGE",
"LINE2:temperature#FF0000:Temperature",
"LINE2:humidity#0000FF:Humidity",
]);
// 生成 RRD 图表并保存到文件
$pngFile = '/path/to/save/graph.png';
$verboseOutput = $graph->saveVerbose($pngFile);
echo "Verbose Output:\n";
echo $verboseOutput;
?>
以上示例演示了如何使用 RRDGraph::saveVerbose() 方法生成一个简单的 RRD 图表,并将生成的图表保存到指定的文件中。函数首先创建一个 RRDGraph 对象,然后设置图表的选项,包括标题、开始时间和结束时间。接下来,添加数据源和图表定义,其中数据源定义了温度和湿度两个数据源,图表定义使用这些数据源来绘制两条线条分别表示温度和湿度。最后,调用 saveVerbose() 方法生成图表,并将结果保存到指定的 PNG 文件中。函数返回生成图表的详细信息,包括命令行参数和生成的图表数据。
请注意,此示例仅用于说明 RRDGraph::saveVerbose() 方法的用法,实际使用时需要根据具体需求进行参数配置和错误处理。