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; } 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); } } echo("\n"); ?>