获取css源码的加载时间(url)

时间:2013-03-18 05:09:48

标签: php

我希望以ms为单位加载一个网址。它可能是css,js或img url。比如这样 - 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的值进行比较)。有人可以建议我使用适当的卷曲功能,或者另一种计算方法吗?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

$time = microtime(true); // Gets microseconds
file('http://images.apple.com/global/nav/styles/navigation.css');
echo "Time Elapsed: ".(microtime(true) - $time)."s";

答案 2 :(得分:0)

使用microtime&amp;文件获取内容

<?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.