StormBreaker
Registered
PHP:
<?php
$host = "slides.bg";
$path = "/Templates/images/menu_background.png";
$fp = fsockopen($host, 80, $errno, $errstr, 30);
if (!$fp) {
echo "Възникна грешка\n";
} else {
$out = "GET $path HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
$size = -1;
while ( !feof($fp))
{
$line = fgets($fp);
if ( preg_match("/Content-Length:\s*([0-9]+)/i", $line, $m) )
{
$size = $m[1];
break;
}
}
fclose($fp);
if ( $size == -1 )
echo "Възникна грешка - сървъра не праща информация за размера на файла";
else
echo 'Файлът е '.$size.' байта!';
}
?>
Разгледайте кода, не е труден за схващане. Кода се свързва с даден адрес и чете върнатите HTTP хедъри. Един от тях е Content-Length, който казва колко байта е файла. Самия файл няма нужда да се изтегля и за това е break;