Kod: Markera allt
<?php
$rrd = "/sokvag/till/energi.rrd"; // Sökvägen till rrd-databasen.
$max_month = date('m'); // Max antal månader att räkna upp. Nuvarande månad anges som max.
$year = date('Y'); // Vilket år. Nuvarande år anges. Om 2010 anges så ändras max_month till 12 för att få hela året.
$width = "600";
$height = "200";
$now = date('Y-m-d');
for ($i = 1; $i <= $max_month; $i++) { //kör loopen tills nuvarande månad har räknats upp.
$month = $i; // Vilken månad. (Skapas av loopen)
$starttime1 = date('Y-m-d', mktime(0, 0, 0, $month, 1, $year)); // datum i lite mer läsbart format
$endtime1 = date('Y-m-t', mktime(0, 0, 0, $month, 1, $year)); // datum i lite mer läsbart format
$starttime = strtotime(date('Y-m-d', mktime(0, 0, 0, $month, 1, $year))); // Startdatum i Unixtid
$endtime = strtotime(date('Y-m-t', mktime(0, 0, 0, $month, 1, $year))); // Slutdatum i Unixtid
$filename = "energi_" . $starttime1 . "_" . $endtime1 . ".png";
// Filernas namn: energi_starttid_sluttid.png
$opts = array(
"--imgformat", "PNG",
"--start", "$starttime",
"--end", "$endtime",
"--width", "$width",
"--height", "$height",
"--slope-mode",
"--title",
"Förbrukning $starttime1 till $endtime1",
"--vertical-label", "Watt",
"--lower", "0",
"DEF:energi=$rrd:energi:AVERAGE",
"CDEF:W=energi,3600,*",
"CDEF:W_real=energi,1000,/",
"VDEF:value_sum=W_real,TOTAL",
"AREA:W#9999ee",
"LINE1:W#000000",
"GPRINT:value_sum:Förbrukad mängd\: %0.2lfkWh\\n",
"GPRINT:W:MIN:Min\: %0.2lf%sW",
"GPRINT:W:AVERAGE:Medel\: %0.2lf%sW",
"GPRINT:W:MAX:Max\: %0.2lf%sW\\n",
"COMMENT:Data sammanställd\: $now"
);
$ret = rrd_graph($filename, $opts, count($opts));
if (!is_array($ret)) {
$err = rrd_error();
echo "rrd_graph() FEL: $err\n";
}
}
?>