我在两个不同的服务器上使用这个脚本:
function curlGetFileInfo($url, $cookies="default"){
global $_config;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_COOKIEFILE, 'serverpath/cookies/'.$cookies.'.txt');
$data = curl_exec($ch);
curl_close($ch);
if ($data === false) {
return 0;
}
//echo $data;
$info['filename'] = get_between($data, 'filename="', '"');
$info['extension'] = end(explode(".",$info['filename']));
if (preg_match('/Content-Length: (\d+)/', $data, $matches)) {
$info['filesize'] = (int)$matches[1];
}
return $info;
}
Run Code Online (Sandbox Code Playgroud)
这些服务器具有相同的 PHP 版本和相同的 PHP-Curl 版本。这些是 curl 结果的两个不同标题:
工作一:
HTTP/1.1 302 发现日期:2012 年 6 月 12 日星期二 07:04:35 GMT 服务器:Apache/2.2.16 (Debian) X-Powered-By:PHP/5.3.3-7+squeeze13 …