Hallo,
versuche seit einiger Zeit verzweifelt eine Datei korrekt mit PHP herunter zu laden (auf Debian). Es klappt weder mit file_get_contents(); noch mit einer gebastelten Funktion, die ein minimales HTTP Request sendet. Die Datei wird zwar empfangen, aber irgendwas geht da total schief, sodass ich sie noch nicht einmal ausführen kann. Wenn ich sie aber mit dem Firefox herunterlade (auf einer Win32 Maschine) klappts. Kann es sein, dass es etwas mit dem "chunked" zu tun hat? Dann wird nämlich immer so eine komische Zahlenbuchstabenkombination (meistens vierstellig) mitempfangen. Liegt das an PHP (meiner Vorgehensweise) oder vielleicht wegen dem Win32 -> Linux/Unix?
Bin für hilfreiche Ideen (Antworten) sehr, sehr dankbar.
HTTP Header (vom Server)
Ein kleiner Ausschnitt aus dem Hex-Editor
(Grüne Stellen = Wie es sein sollte; Rote Stellen = Wie es ist)
BEISPIEL-Skript
Also mein Skript geht in etwa so vor...
versuche seit einiger Zeit verzweifelt eine Datei korrekt mit PHP herunter zu laden (auf Debian). Es klappt weder mit file_get_contents(); noch mit einer gebastelten Funktion, die ein minimales HTTP Request sendet. Die Datei wird zwar empfangen, aber irgendwas geht da total schief, sodass ich sie noch nicht einmal ausführen kann. Wenn ich sie aber mit dem Firefox herunterlade (auf einer Win32 Maschine) klappts. Kann es sein, dass es etwas mit dem "chunked" zu tun hat? Dann wird nämlich immer so eine komische Zahlenbuchstabenkombination (meistens vierstellig) mitempfangen. Liegt das an PHP (meiner Vorgehensweise) oder vielleicht wegen dem Win32 -> Linux/Unix?

Bin für hilfreiche Ideen (Antworten) sehr, sehr dankbar.
HTTP Header (vom Server)
Code:
HTTP/1.x 200 OK Date: Wed, 12 Mar 2008 22:34:59 GMT Server: Apache Expires: Mon, 26 Jul 1997 05:00:00 GMT Last-Modified: Wed, 12 Mar 2008 22:34:59 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Keep-Alive: timeout=5, max=100 Connection: Keep-Alive Transfer-Encoding: chunked Content-Type: application/x-shockwave-flash
Ein kleiner Ausschnitt aus dem Hex-Editor
(Grüne Stellen = Wie es sein sollte; Rote Stellen = Wie es ist)
Code:
07 00 08 01 07 [COLOR="SeaGreen"][B]28[/B][/COLOR] 00 00 00 3C 96 07 00 08 02 07 [COLOR="SeaGreen"][B]C6[/B][/COLOR] 00 00 00 3C 96 07 00 08 03 07 [COLOR="SeaGreen"][B]B7[/B][/COLOR] 00 00 00 3C 96 07 00 08 04 07 [COLOR="SeaGreen"][B]A3[/B][/COLOR] 00 00 00 3C 96 07 00 08 05 07 [COLOR="SeaGreen"][B]B9[/B][/COLOR] 00 00 00 3C 96 07 00 08 06 07 [COLOR="SeaGreen"][B]BF[/B][/COLOR] 00 00 00
Code:
.....[COLOR="SeaGreen"][B]([/B][/COLOR]...<–.....[COLOR="SeaGreen"][B]Æ[/B][/COLOR]...<–.....[COLOR="SeaGreen"][B]·[/B][/COLOR]...<–.....[COLOR="SeaGreen"][B]£[/B][/COLOR]...<–.....[COLOR="SeaGreen"][B]¹[/B][/COLOR]...<–.....[COLOR="SeaGreen"][B]¿[/B][/COLOR]...
Code:
07 00 08 01 07 [COLOR="Red"][B]32[/B][/COLOR] 00 00 00 3C 96 07 00 08 02 07 [COLOR="Red"][B]D4[/B][/COLOR] 00 00 00 3C 96 07 00 08 03 07 [COLOR="Red"][B]67[/B][/COLOR] 00 00 00 3C 96 07 00 08 04 07 [COLOR="Red"][B]0A[/B][/COLOR] 00 00 00 3C 96 07 00 08 05 07 [COLOR="Red"][B]0B[/B][/COLOR] 00 00 00 3C 96 07 00 08 06 07 [COLOR="Red"][B]9A[/B][/COLOR] 00 00 00
Code:
.....[COLOR="Red"][B]2[/B][/COLOR]...<–.....[COLOR="Red"][B]Ô[/B][/COLOR]...<–.....[COLOR="Red"][B]g[/B][/COLOR]...<–.....[COLOR="Red"][B].[/B][/COLOR]...<–.....[COLOR="Red"][B].[/B][/COLOR]...<–.....[COLOR="Red"][B]š[/B][/COLOR]...
BEISPIEL-Skript
Also mein Skript geht in etwa so vor...
PHP-Code:
<?php
if(($mHandle = fopen("./bild.png", "w+")) !== false){
fwrite($mHandle, file_get_contents("http://stealth.to/img/s3_01.png"));
fclose($mHandle);
}else{
echo("Das ging in die Hose.");
}
?>
Kommentar