2011-11-03 56 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

相关问题