Ladezeit berechnen und ausgeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ladezeit berechnen und ausgeben

    Hallo!

    Ich möchte gerne die Ladezeit meiner Seiten im Footer.tpl ausgeben. Da ich mit Smarty arbeite scheint mir das etwas problematisch zu werden.

    Also, in miner Header.tpl rufe ich folgende Smarty Funktion auf

    PHP-Code:

    function smarty_modifier_load_head()
    {    

            
    $startzeit explode(" "microtime());
            
    $startzeit $startzeit[0]+$startzeit[1];
            return 
    $startzeit;
            
            
    }    
    $tpl->register_function('load''smarty_modifier_load_head'); 
    und im Footer diese:

    PHP-Code:
    function smarty_modifier_load_footer()
    {    
            
            
            
    $endzeit=explode(" "microtime());
            
            
    $endzeit=$endzeit[0]+$endzeit[1];
            
    $startzeit smarty_modifier_load_head();

            
            echo 
    date("d.m.Y"); echo", "; echo date("H:i"); echo" Uhr, ".round($endzeit $startzeit,4)." Sekunden";
        
            
    $endzeit "";
            
        
    }
    $tpl->register_function('load_ende''smarty_modifier_load_footer'); 
    Die Ladezeit beträgt immer 0. Obwohl ich den ganzen body Bereich
    prüfe.

    Vielleicht kann ich das direkt mit Smarty machen?

  • #2
    Funktionen werden nicht bei der Deklaration sondern erst beim Aufruf ausgeführt. Diese Zeilen
    PHP-Code:
    $endzeit=explode(" "microtime());
    $endzeit=$endzeit[0]+$endzeit[1];
    $startzeit smarty_modifier_load_head(); 
    entsprechen daher folgendem Ablauf:
    PHP-Code:
    $endzeit=explode(" "microtime());
    $endzeit=$endzeit[0]+$endzeit[1];
    $startzeit explode(" "microtime());
    $startzeit $startzeit[0]+$startzeit[1]; 
    Wie man sieht, berechnest du die Startzeit sogar erst nach der Endzeit. Da kann so ja nichts werden!

    Du musst die Startzeit zu Beginn des Scripts ermitteln, in einer Variablen speichern und am Ende von der aktuellen Zeit abziehen.

    Kommentar


    • #3
      PHP-Code:
      $startzeit explode(" "microtime());
      $startzeit $startzeit[0]+$startzeit[1];
      // entspricht
      $startzeit microtime(true); 
      Gruss
      H2O

      Kommentar

      Lädt...
      X