Jan Hatterscheid: Warum geht dieses Script nicht?

Ich möchte ein Gif von einem anderen Server auf meinem Server abspeichern. Der Pfad stimmt und die URL auch, warum geht es trotzdem nicht. Wie kann ich es abändern, damit es funktioniert.

<?$url="http://www.netzwelt.com/selfhtml/xweb.gif";

$fp = fsockopen($url, 80, &$errno, &$errstr);
if(!$fp){
        echo "$errstr ($errno)<br>";
}else{
        fputs($fp,"GET / HTTP/1.0");
        while(!feof($fp)) {
                $bild=fgets($fp,1280000);
                copy($bild,"/home/kunden/kinoinde/public_html/starts/starter2000/bild.gif");
  }
        fclose($fp);
}
echo "OK";

?>

  1. hi jan,

    hmm, so geht das nicht ganz!

    1. der hostname braucht kein http:// weil der port ja schon angegeben ist und darf außerdem nicht den pfad enthalten!

    bsp: "www.netzweit.com"

    2. du bekommst das bild durch den http-request

    fputs($fp,"GET / HTTP/1.0"); // geht nicht, weil "/" das hauptverzeichnis bezeichnet und nicht das bild (wir wollen ja nicht auf die index.htm zugreifen...

    deshalb: "GET /images/bild.gif HTTP/1.0\n\n" (wichtig: \n\n nicht vergessen!)

    3. copy funzt nur aufm lokalen system!
    deshalb fwrite benutzen, um binärdaten zu schreiben!

    ich hab mal n script geschrieben dessen output du dir anschauen kannst: (wenn du es haben willst, kannst du mir ja ne mail schreiben!)

    http://195.98.201.161/ice/get.php3?host=pixel.imv.de&item=dexlogo.gif

    bei meinem script bräuchte ich jetzt nur den output anstatt auf den screen in eine datei zu schreiben!

    cu pete