function Writefichier($filename, $content, $target = '', $method = 'w+') { jx('mail'); if ($method == "a" or $method == "a+") { FPC($filename, $content, 'app'); } else { FPC($filename, $content); } }
function GT($k = '', $m = 0, $e = 4) { static $noerr, $err, $i, $prevmemusage; if (in_Array($k, array('kill', 'cachepath:read:1'))) { $noerr = $k; } #pas d'erreur après ces clés #Final-désactivation erreurs si accession au shutdown if (!$noerr && ($err || e(',timeerror,timerror,dead1,av', 1))) { return; } #empêche la récursivité de la fonction $now = Memuse(90); $mem = $now - $prevmemusage; $prevmemusage = $now; $round = Round($mem, 3); Rem($k, DB2(-1), $i); #Mettre en clé la Dernière instruction du Debug Backtrace si non définie #$i++;$k='u'.$i;$_ENV['dbt']['#'.$k]=DB2(-1);} $x = TimeLong(1); if (is_Array($x)) { extract($x); } else { $d = $x; } if ($d) { $_ENV['lasttime'] = $d; } $_ENV['lastkey'] = $k; $i++; if ($i > $_ENV['maxop']) { $err = 1; Db(SU, ">" . Round($d) . " sec; gt-occurences:{$i}"); jx("mail", SU, ">" . Round($d) . " sec; gt-occurences:{$i}"); } if (in_Array($k, array('000', 'fin'))) { return $d * 1000; } #Multiplions la valeur par mille : 51.4ms if (!is_numeric($m) && isset($_ENV['Adbt'][$k]) && $m) { $d2 = $d - $_ENV['Adbt'][$k]; unset($m); } #prend la différence entre les deux clés : 0.0197-0.0136 if (!$d2) { return; } #Trop rapprochées&recursive? substr($_ENV['args'],-1)=GT()?? $d2 = round($d2, 5); $d = round($d, 5); if (!isset($_ENV['Tdbt'][$key])) { $_ENV['Tdbt'][$key] = 0; } $_ENV['Tdbt'][$key] += $d2; if (isset($_ENV['dbt'][$k])) { $_ENV['dbt'][$k] += $d2; } else { $_ENV['dbt'][$k] = $d2; } $_ENV['Adbt'][$k] = $d; #absolue if ($round > 0.1) { $_ENV['Mem'][$k] = $round; } #Si 100ko = significative if (!isset($_ENV['dbe'])) { $_ENV['dbe'] = array('db' => null); } $d2 = Round($d2 * 1000); $d = Round($d * 1000); if ($d2 > 5 || $m == 1) { $_ENV['dbe']['db'] .= "{$k}:{$d2} "; } if ($d > 30000 && !ru && !$noerr) { e(',timeerror'); Db(SU, "{$k}>" . Round($d) . " sec "); jx('mail', '+30sec'); return; } return $d2; #Retourne toujours l'écart & non la valeur absolue }