2011-11-03 53 views
4

當在命令行中,你可以使用下面的命令來下載文件大小限制爲250KB使用curl:您可以使用PHP內置的Curl函數來設置最大文件大小嗎?

curl 'http://www.domain.com' --max-filesize 250000 

使用PHP的curl_init()curl_setopt()時我無法找到設置。

我錯過了什麼嗎?

+0

您可能會對此討論感興趣:http://curl.haxx.se/mail/lib-2008-09/0219.html – hakre

+1

我沒有在curl_setopt文檔中看到它。你可以使用curl_setopt($ ch,CURLOPT_NOBODY,true);和讀取Content-Length頭,然後在Content-Length小於最大值的情況下再下載一個請求。這不會是萬無一失的。 –

回答

0

使用PHP內置的curl函數沒有辦法做到這一點,而沒有向託管該文件的Web服務器發出單獨的請求。

5

你可以,如果你使用callback-

CURLOPT_READFUNCTION 傳遞一個將被調用來讀數據的功能。回調函數原型:

string read_callback (resource ch, resource fd, long length) 

ch參數是CURL會話句柄。 fd參數是通過CURLOPT_INFILE選項傳遞給CURL的文件描述符。長度參數是可返回的最大長度。 函數必須返回包含讀取數據的字符串。如果數據的長度超過最大長度,它將被截斷爲最大長度。返回除字符串之外的其他內容表示EOF。

請參閱curl_setopt

相關問題