当从命令行使用Curl时,您可以使用以下命令将下载的文件大小限制为250kb:
curl 'http://www.domain.com' --max-filesize 250000
我使用PHP的
curl_init()
和curl_setopt()
时找不到设置选项。我是否漏掉了什么?string read_callback (resource ch, resource fd, long length)
ch参数是CURL会话句柄。fd参数是通过CURLOPT_INFILE选项传递给CURL的文件描述符。length参数是可以返回的最大长度。
该函数必须返回包含读取数据的字符串。如果数据的长度超过了最大长度,它将被截断为最大长度。返回除字符串以外的任何内容都意味着EOF。
请参见curl_setopt
。
使用PHP内置的curl函数无法完成此操作,必须向托管文件的Web服务器发出单独的请求。
curl_setopt($ch, CURLOPT_NOBODY, true);
发出请求并读取Content-Length标头,然后仅在Content-Length小于您的最大值时进行第二个请求以下载。这不是绝对可靠的方法。 - Frank Farmer