3

1つのURLの読み込み時間をミリ秒で取得したい。これは、css、js、またはimgurlのいずれかになります。たとえば、このように- http://images.apple.com/global/nav/styles/navigation.css

これにはcurlを使用する必要があると思います。これが私の現在の方法です。

$url1 = 'http://images.apple.com/global/nav/styles/navigation.css';
$curl1 = curl_init();       
curl_setopt($curl1, CURLOPT_URL, $url1); 
curl_setopt($curl1, CURLOPT_RETURNTRANSFER, TRUE); 
curl_exec($curl1); 
$contime1 = curl_getinfo($curl1, CURLINFO_TOTAL_TIME);

このメソッドから取得する値が大きすぎます(pingdomからの値と比較しています)。誰かが私にこれに使用する適切なカール関数、またはこれを計算する別の方法を提案できますか?

4

3 に答える 3

2

使用microtime()機能

microtime()マニュアル

例の場合。

<?php
    $time = microtime(true);
    file('http://images.apple.com/global/nav/styles/navigation.css');
    echo "Time : ".(microtime(true) - $time)." Seconds";
?>

出力

Time : 0.31984090805054 Seconds
于 2013-03-18T05:20:21.497 に答える
0
$time = microtime(true); // Gets microseconds
file('http://images.apple.com/global/nav/styles/navigation.css');
echo "Time Elapsed: ".(microtime(true) - $time)."s";
于 2013-03-18T05:22:30.227 に答える
0

マイクロタイムを使用してファイルを取得する

<?php

$url = 'http://images.apple.com/global/nav/styles/navigation.css';
$total_time = get_load_time($url) . '';
echo 'Data retrieved in ' . $total_time . ' seconds.';

function get_load_time($url) {
  $time1 = explode(' ', microtime());
  $start = $time1[1] + $time1[0];
  @file_get_contents($url);
  $time2 = explode(' ', microtime());
  $finish = $time2[1] + $time2[0];
  return round(($finish - $start), 4);
}

?>

// サンプル出力

Data retrieved in 1.7756 seconds.
于 2013-03-18T05:22:49.673 に答える