2011-02-02 3 views
1

imagine私はローディングの速度を計算するために、 と計算した値をエコーし​​ます。 は...しかし、私は、HTMLの下部に、ページの最後にはない、その値をエコーし​​たいが、どこかのhtmlの真ん中に:しかし変数は空ですが、計算後は空でなければなりません。どのようにこれを正しく行うには?

$s = microtime(true); 

<html><head>...</head><body> 
    echo $laadtijd . " seconds"; //echo value, after calculation completed 
</body></html> 

    $e = microtime(true); 
    $laadtijd = round($e - $s, 3); //fill in the value 

、今のページには、空の値を示していますそれが計算されている間、$ laadtijdのために!これを解決するには?

+2

'$ laadtijd'は' echo'の前に計算されていますか? –

+0

がエコー後に計算されます。その後、値をページの中央に表示して、値を表示できるようにする必要があります。それは可能ですか? – Sam

+0

はい、下記の私の答えをお読みください。 –

答えて

2

すべてのコンテンツを削除し、バッファ内のフラグTIME_CALCULATEDを時間で置き換えます。

詳細については、PHPマニュアルのOutput Control Functionsを参照してください。

0

どのようにロードされていない場合は、全ページのロード速度を計算できますか?あなたは$ laadtijdをどこかの端に向かって計算したのですが、どうやってそれを途中でエコーできますか?

<?php 

    // Start time 
    $s = microtime(true); 

    // Holds the output buffer 
    ob_start(); 
    echo ' 
     <html> 
       <head>...</head> 
       <body>.... 
       TIME_CALCULATED seconds. 
       </body> 
     </html>'; // TIME_CALCULATED will be our flag 

    // Get the output 
    $output = ob_get_contents(); 
    ob_end_clean(); 

    // End time 
    $e = microtime(true); 
    $laadtijd = round($e - $s, 3); 

    // Echo the output 
    echo str_replace('TIME_CALCULATED', $laadtijd, $output); 

?> 

をこれは、単純にして、出力バッファを保持している:あなたが実行していることを行うことができますのmicrotimeにページをロードするのにかかる時間と正確にはその不可能を使用して(私もわからない)

<?php 
$s = microtime(true); 
?> 
<html><head>...</head> 
<body> 
show you entire page 
<?php 
$e = microtime(true); 
$laadtijd = round($e - $s, 3);//calculate first then echo 
echo $laadtijd . " seconds"; 
?> 
</body></html> 
+0

私は私の質問をよりよく言い換えます。批評+1ありがとう – Sam

関連する問題