我在下载之前使用此代码来控制文件大小:
$info = array();
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true); // make it a HEAD request
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch,CURLOPT_USERAGENT,$this->userAgent());
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,$webinfo['ctimeout']);
curl_setopt($ch, CURLOPT_TIMEOUT, $webinfo['timeout']); //timeout in seconds
$head = curl_exec($ch);
$info['type'] = curl_getinfo($ch, CURLINFO_CONTENT_TYPE);
$info['size'] = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
$info['path'] = parse_url($url, PHP_URL_PATH);
$info['filename'] = substr($info['path'], strrpos($info['path'], '/') + 1);
$info['http'] = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$info['url'] = $url;
$info['active'] = false;
if(curl_errno($ch))
{
echo curl_error($ch);
curl_close($ch);
return false;
}
if($info['http'] == 200)
{
$info['active'] = true;
curl_close($ch);
if( $info['size'] > 15728640)
{
return false;
}
return $info;
}
所以我限制它大约15mb,但我今天检查了我的服务器,看到它下载的文件超过200mb。
这段代码我错了什么?
我想也许'15728640'错了,或者我应该用其他格式写它?