Bilder mittels Server-Script abholen
Chris
- php
Hallo,
ich will mit einem Serverscript Bilder von einem anderen Server holen. Ich habe die Header abgeschnitten und die Bilder jeweils in einer Datei gespeichert. Leider können sie dann trotzdem nicht angezeigt werden. Woran könnte das liegen?
$host ="www.host.test";
$errno = 0;
$errstr = '';
$referrer = 'http://www.host.test';
$imgsrc = '/cgi/bild$n';
$fp = fsockopen ($host, 80, $errno, $errstr, 10);
if (!$fp)
{
echo "$errstr ($errno)<br />\n";
}
else
{
fputs ($fp, "GET $imgsrc HTTP/1.0\n");
fputs ($fp, "Referrer: $referrer\n");
fputs ($fp, "Host: $host\n\n");
$pic = '';
while (!feof($fp))
{
$line = fgets($fp,1024);
if (strlen(trim($line)) == 0 )
{
break;
}
else
{
$header[] = $line;
}
}
## hier ggf. noch weiter Leerzeilen wegschneiden
while (!feof($fp))
{
$pic .= fgets($fp,1024);
}
fclose($fp);
$fp = fopen('picture.jpg','w+');
fwrite($fp, $pic);
fclose($fp);
}
Wo ist denn da der Denkfehler?
LG
Chris
Moin
ich will mit einem Serverscript Bilder von einem anderen Server holen. Ich habe die Header abgeschnitten und die Bilder jeweils in einer Datei gespeichert. Leider können sie dann trotzdem nicht angezeigt werden. Woran könnte das liegen?
nur zum Verständnis. Du möchtest per Script von einem Server ein Bild holen und dieses bei Dir abspeichern. Richtig?
regds
Mike©
Moin nochmal,
ich will mit einem Serverscript Bilder von einem anderen Server holen. Ich habe die Header abgeschnitten und die Bilder jeweils in einer Datei gespeichert. Leider können sie dann trotzdem nicht angezeigt werden. Woran könnte das liegen?
Wenn meine Vermutung von 14:35 richtig ist, dann machst Du es so:
Gib mal Feeback.
$Link='http://www.kita-weidenstrasse.de/images/sonne.gif';
$File='Meine_Sonne.gif';
$link_pointer=fopen($Link,"rb");
if ( $link_pointer )
{
$image_pointer=fopen($File,"wb");
if ( $image_pointer )
{
while(!feof($link_pointer))
{
$image = fread($link_pointer, 1024);
fputs($image_pointer, $image);
}
fclose($image_pointer);
}
fclose($link_pointer);
}
regds
Mike©
Hello Mike,
Chris versucht hier, Bilder von einem Server zu holen, der einen bestimmten Referrer benötigt.
Das klappt mit Deinem Script auf keinen Fall. Ein Leerer Referrer wird mit "DuDu" bestraft.
Ich sehe aber den Fehler auch nicht. Wahrscheinlich liegts an der fehlenden Brille.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
$line = fgets($fp,1024);
Wo ist denn da der Denkfehler?
string fgets ( resource handle [, int length])
Gibt eine Zeile bis zu length -1 Bytes Länge zurück, welche aus der Datei von der aktuellen Position des Dateizeigers handle aus ausgelesen wird. Die Zeile endet an einem Zeilenumbruch (welcher im Rückgabewert enthalten ist), EOF (Ende der Datei) oder bei length - 1 Bytes (je nachdem, was eher auftritt). Ist keine Länge angegeben, wird diese auf 1k bzw. 1024 Bytes gesetzt.
newline !!!! bilder sind byteströme