我希望以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的值进行比较)。有人可以建议我使用适当的卷曲功能,或者另一种计算方法吗?
答案 0 :(得分:2)
使用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.