1) { echo (round((($i / $count) * 100), 2)."% \r"); } } function getDirectoryTree($outerDir, &$files=array()) { $dirs = array_diff(scandir($outerDir), array( '.', '..' )); foreach ($dirs as $d) { if (is_dir($outerDir.'/'.$d)) { getDirectoryTree($outerDir.'/'.$d, $files); } else { if (preg_match('/^[\d]+.rrd$/', $d)) { array_push($files, preg_replace('/\/+/', '/', $outerDir.'/'.$d)); } } } return $files; }//end getDirectoryTree() function fixRdd($file) { global $config; global $rrdcached; $fileC = shell_exec("{$config['rrdtool']} dump $file $rrdcached"); // --------------------------------------------------------------------------------------------------------- $first = << INDISCARDS DERIVE 600 0.0000000000e+00 1.2500000000e+10 UNKN 0.0000000000e+00 0 OUTDISCARDS DERIVE 600 0.0000000000e+00 1.2500000000e+10 UNKN 0.0000000000e+00 0 INUNKNOWNPROTOS DERIVE 600 0.0000000000e+00 1.2500000000e+10 UNKN 0.0000000000e+00 0 INBROADCASTPKTS DERIVE 600 0.0000000000e+00 1.2500000000e+10 UNKN 0.0000000000e+00 0 OUTBROADCASTPKTS DERIVE 600 0.0000000000e+00 1.2500000000e+10 UNKN 0.0000000000e+00 0 INMULTICASTPKTS DERIVE 600 0.0000000000e+00 1.2500000000e+10 UNKN 0.0000000000e+00 0 OUTMULTICASTPKTS DERIVE 600 0.0000000000e+00 1.2500000000e+10 UNKN 0.0000000000e+00 0 FIRST; $second = << 0.0000000000e+00 NaN NaN 0 0.0000000000e+00 NaN NaN 0 0.0000000000e+00 NaN NaN 0 0.0000000000e+00 NaN NaN 0 0.0000000000e+00 NaN NaN 0 0.0000000000e+00 NaN NaN 0 0.0000000000e+00 NaN NaN 0 SECOND; $third = << NaN NaN NaN NaN NaN NaN NaN THIRD; // --------------------------------------------------------------------------------------------------------- if (!preg_match('/DISCARDS/', $fileC)) { $fileC = str_replace('', $first, $fileC); $fileC = str_replace('', $second, $fileC); $fileC = str_replace('', $third, $fileC); $tmpfname = tempnam('/tmp', 'OBS'); file_put_contents($tmpfname, $fileC); @unlink($file); $newfile = preg_replace('/(\d+)\.rrd/', 'port-\\1.rrd', $file); @unlink($newfile); shell_exec($config['rrdtool']." restore $tmpfname $newfile"); unlink($tmpfname); } }//end fixRdd() echo "\n";