Trottel: Socket=>empfangen/verarbeiten der Dateien

Beitrag lesen

tach,

bei meiner funktion SOLLTE von nem server eine datei via fsock (nicht fopen o.ä.) empfangen werden. allerdings stimmt wohl irgendwas nicht ganz, sodass HTTP/1.1 200 OK als rückgabewert erfolgt. stattdessen sollte da die datei angezeigt werden...

<?
$fp = fsockopen ("localhost", 80, $errno, $errstr, 30);
echo(file_("http://localhost/index.html",$fp));

function file_($link, $fp)
{
 preg_match("#http://([^/]*?)/(.*)#s",$link,$ar);
 $link=$ar[2]; echo "<br>-$link-<br>";
$method = "GET";
$request  = "$method /$link HTTP/1.1\r\n";
$request .= "Host: $ar[1]\n";
$request .= 'User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) ';
$request .= "Gecko/20021204\r\n";
$request .= 'Accept: text/xml,application/xml,application/xhtml+xml,';
$request .= 'text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,';
$request .= "image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1\r\n";
$request .= "Accept-Language: en-us, en;q=0.50\r\n";
$request .= "Accept-Encoding: gzip, deflate, compress;q=0.9\r\n";
$request .= "Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66\r\n";
$request .= "Keep-Alive: 300\r\n";
$request .= "Connection: keep-alive\r\n";
$request .= "Referer: $referer\r\n";
$request .= "Cache-Control: max-age=0\r\n";
$request .= "\r\n";
fputs( $fp, $request );
$src=fgets ($fp, 1000);

return($src);
}

fclose($fp);
?>

was is falsch?
bzw wie is es richtig zu machen?

danke