Dateien werden von PHP fehlerhaft heruntergeladen/gespeichert...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Dateien werden von PHP fehlerhaft heruntergeladen/gespeichert...

    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)
    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($mHandlefile_get_contents("http://stealth.to/img/s3_01.png"));
      
    fclose($mHandle);
    }else{
      echo(
    "Das ging in die Hose.");
    }
    ?>

  • #2
    Wenn du schon file_get_contents() benutzt, benutz doch auch file_put_contents()!

    Ansonsten stimmt da ja noch irgendwas nicht, der Server schickt dir einen Flash-Header, die Datei scheint aber ein PNG zu sein ...
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Okay, hat sich erledigt, liegt definitiv am "chunked".
      (Das Skript war nur ein Beispiel)

      Kommentar

      Lädt...
      X