Hallo,
wenn ich einen bestimmten Link aufrufe, erhalte ich als Ergebnis einen GZ-komprimierten Datenstrom zurückgeliefert.
Ich möchte diesen Datenstrom gleich in eine Datei umleiten.
Bei meinen Recherchen bin ich immer wieder auf die Funktion "fsockopen" gekommen.
Will ich sie aber verwenden bekomme ich immer die Fehlermeldung:
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: gethostbyname failed in \download.php on line ...
Warning: fsockopen() [function.fsockopen]: unable to connect to http://www.server_mit_file.de/export.php:80 in \download.php on line ...
Hier das Script:
$file_write = fopen("test.gz","wb");
$file_read = fsockopen('http://www.server_mit_file.de/export.php',80, $errno, $error,300) OR die($error."(".$errno.")");
fwrite($file_read, "HEAD / HTTP/1.1\r\n");
fwrite($file_read, "\r\n"); // Request beenden
while(!feof($file_read)) {
$buffer = fread($file_read, 1024);
fwrite($file_write,$buffer,strlen($buffer));
}
fclose($file_read);
fclose($file_write);
Das nächste Problem wird sein, das die gesendete Datei unter Umständen bis zu 10MB groß sein kann. Wie kann ich einen Workarround schaffen, der so ähnlich wie bei http://www.mysqldumper.de funktioniert, wo sich das Script immer wieder selbst aufruft, bis die Datei verarbeitet wurde, um somit dem Timeout zu entgehen?
Vielen Dank für Eure Hilfe,
Gruss, Mario