2013-03-18 58 views
3

我想獲得一個網址的毫秒加載時間。這將是css,js或img url。像這個例子 - http://images.apple.com/global/nav/styles/navigation.css獲取加載時間的CSS源(url)

我想我需要使用捲曲對於這一點,這是我目前的方法:

$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); 

我從這個方法得到的值過大(IM與價值來自Pingdom的比較的話)。有人可以建議我使用適當的捲曲功能嗎?或者以另一種方式來計算?

回答

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 
+0

記得有人建議我不要用微短時間這一點,但不適嘗試和看到的結果 – Edgar 2013-03-18 05:22:53

+0

microtime中()是一個快捷的方法 – 2013-03-18 05:26:26

+0

@Edgar看到我的編輯答案它會幫助你更好地 – 2013-03-18 05:29:16

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

使用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.