php5有get_headers非常好用,因為他可以直接讀取遠程文件的信息,而不用把整個文件讀取到服務器。但是現在很多web服務器都不支持php5,下面我們就來看一個關於php4獲取遠程服務器文件大小的實例類吧。
php教程4如何獲取遠程文件大小類
/*
php5有get_headers非常好用,因為他可以直接讀取遠程文件的信息,而不用把整個文件讀取到服務器。但是現在很多web服務器都不支持php5,下面我們就來看一個關於php4獲取遠程服務器文件大小的實例類吧。
*/
if(!function_exists('get_headers'))
{
function get_headers($url,$format=0)
{
$url=parse_url($url);
$end = "rnrn";
$fp = fsockopen($url['host'], (empty($url['port'])?80:$url['port']), $errno, $errstr, 30);
if ($fp)
{
$out = "get / http/1.1rn";
$out .= "host: ".$url['host']."rn";
$out .= "connection: closernrn";
$var = '';
fwrite($fp, $out);
while (!feof($fp))
{
$var.=fgets($fp, 1280);
if(strpos($var,$end))
break;
}
fclose($fp);$var=preg_replace("/rnrn.*$/",'',$var);
$var=explode("rn",$var);
if($format)
{
foreach($var as $i)
{
if(preg_match('/^([a-za-z -]+): +(.*)$/',$i,$parts))
$v[$parts[1]]=$parts[2];
}
return $v;
}
else
return $var;
}
}
}