От байт в мегабайт

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;
 

Back
Горе