2012-02-22 110 views

回答

2

您可以使用CURL來獲取遠程文件的標題,包括文件的大小。

$url = 'http://www.domain.com/video.flv'; 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_NOBODY, true); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$headers = curl_exec($ch); 

$size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD); 

curl_close($ch); 

將CURLOPT_NOBODY設置爲true,使得CURL不下載所請求的URL的主體。

+0

謝謝,它的工作原理。 :) – user1123379 2012-02-22 13:22:48

0

您可以使用CURL向您想知道文件大小的URL發送HTTP HEAD請求。服務器應該在其響應中發回一個內容長度標題,列出八位字節(字節)中的文件大小。

雖然服務器並非必須實際發送內容長度標頭。如果沒有,那麼你唯一的選擇是實際下載完整的文件。

0

我不能使用「文件大小」,因爲它無法從外部URL檢查大小,對吧?

是的,它can這樣做,但這樣做有點荒謬,因爲url包裝會首先下載文件,然後檢查其大小。

您可以執行一個HEAD請求,它會向服務器請求文件大小而不請求文件數據。