我想获得加载时间在毫秒,一个url。它可能是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的值进行比较)。有人能告诉我合适的旋度函数吗,或者另一种计算方法?
使用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
$time = microtime(true); // Gets microseconds
file('http://images.apple.com/global/nav/styles/navigation.css');
echo "Time Elapsed: ".(microtime(true) - $time)."s";
使用microtime &文件获取内容
<?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.