PHP通过CURL获取远程文件header头信息

使用CURL方法获取远程文件header头信息,与内置函数get_headers不同的是,这个方法不用完整下载文件,只是下载头部信息,速度理论会快一些。

public function getRemoteFileHeaders($url)

{

$options = array(

CURLOPT_HEADER => true,

CURLOPT_NOBODY => true,

CURLOPT_RETURNTRANSFER => true,

CURLOPT_FOLLOWLOCATION => true,

CURLOPT_AUTOREFERER => true,

CURLOPT_TIMEOUT => 30,

CURLOPT_HTTPHEADER => array('Accept: */*', 'User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)', 'Connection: Keep-Alive')

);

$ch = curl_init($url);

curl_setopt_array($ch, $options);

$header = curl_exec($ch);

$ret = curl_errno($ch);

$error = curl_error($ch);

curl_close($ch);

if ($ret === 0) {

$head = array();

$headArray = explode("rn", trim($header));

$first = array_shift($headArray);

preg_match("#HTTP/[0-9.]+s+([0-9]+)#", $first, $code);

$head['code'] = intval($code[1]);

foreach ($headArray as $v) {

$arr = explode(':', $v, 2);

$head[trim($arr[0])] = trim($arr[1]);

}

return $head;

} else {

return $error;

}

}

评论

Popular Posts

《普列姆昌德作品选》

Cromite - 极度注重隐私的Chromium浏览器

常用的国内外延迟测速链接(generate_204)

随身WiFi折腾指南: 解锁、刷机与DIY

伤不起的盖茨比——那些年,我们没逆袭到的女神

JavaScript版星际争霸(网页版星际争霸)

机动战士高达SEED 機動戦士ガンダムSEED (2002)

神奇动物在哪里 Fantastic Beasts and Where to Find Them (2016)

让你一生都受用的85句话 (适合做QQ签名)

eMule eXcalibur 1.85.3 简体中文版(风之痕)