2011-11-18 67 views

回答

3

PHP內置了記錄時間的函數。許多人使用microtime()來描述他們的功能。

下面是手動的例子:

<?php 
$time_start = microtime(1); 

// PUT YOUR DOWNLOAD FUNCTION HERE - GWB 

$time_end = microtime(1); 
$time = $time_end - $time_start; 

echo "Downloaded in ".round($time,5)." seconds\n"; 
?> 

重要提示:作爲@toon81在其他信息的評論中提到的,你必須要提防在服務器上的時間變化。正如在本microtime manual page

comments section提到「但是這是事實,結果取決於gettimeofday的()調用的。[...]如果系統時間的變化,此功能的結果是不可預知的(遠大於以下零)。」

+0

很好,以前的評論已被刪除。這個答案有兩分錢:根據你用來下載的函數,PHP腳本可能會繼續運行(異步下載) - 所以如果你的時間太少,請檢查你使用的下載函數。 – Lars

+0

這給了我一些指標。每次都不一樣。這不準確嗎? –

+0

我的不好。這是我真的誤解了這個問題。我混淆了上傳和下載。我爲此道歉。 –

1

做一個UNIX時間戳權前和下載後,計算的差異。

$start = time(); 
//Download 
$end = time(); 
$time = $end - $start; 
//Send to db 
+0

不知道爲什麼你的答案得到了downvoted這麼多,兄弟。對我來說似乎是一個完全合法的答案。 –

+1

不是。首先,'時間'功能在幾秒鐘內,因此不適合分析功能。其次,時間安排並不那麼簡單。看看這裏的評論:http://nl.php.net/manual/en/function.microtime.php – toon81