tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
256
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    qsrs qsrs ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    454
    Hallo,

    ich lade per PHP-Skript eine Datei herunter und übergebe die Daten mittels header(); an den Browser. Das mache ich folgendermaßen:

    PHP-Code:
    header ("Content-Type: application/x-zip-compressed;");
      
    header ("Content-Disposition: attachment; filename=\"".$array3[name].".zip\";");
      
    readfile ("files/temp/".$filename_output.".zip"); 
    Die Datei wird heruntergeladen, auch hat sie eine korrekte Größe. Ich kann sie jedoch nicht entpacken. Es kommt die Meldung, dass die Datei korrupt ist. Mit WinAce kann ich sie zwar entpacken, aber wahrscheinlich übergeht das Programm eventuelle Fehler. Was mache ich mit der header-Funktion falsch?

    Wenn ich die Datei auf dem Server per FTP herunterlade, ist alles in Ordnung.
     

  2. #2
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Versuche mal den Header passend zu einem Download auszugeben:

    PHP-Code:
    header('Content-Type: application/octet-stream'true); 
    Und noch den für die Dateigröße:

    PHP-Code:
    header('Content-Length: '.filesize("files/temp/".$filename_output.".zip")); 
    Geändert von Flex (23.09.07 um 20:48 Uhr) Grund: Geändert.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  3. #3
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Der Inhaltstyp heißt korrekt „application/octet-stream“.
     
    Markus Wulftange

  4. #4
    qsrs qsrs ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    454
    Danke für deine Antwort. Leider hat es nichts geholfen. Ich verstehe wirklich nicht, was ich hier falsch mache. Es sind davon auch alle Browser betroffen.
     

  5. #5
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Wird danach noch etwas ausgegeben?
     
    Markus Wulftange

  6. #6
    qsrs qsrs ist offline Mitglied Brokat
    Registriert seit
    Jan 2005
    Beiträge
    454
    Also es erscheint keine Fehlermeldung im Browser, die Datei wird heruntergeladen, die Größe ist auch in Ordnung. Nur entpacken kann ich sie nicht. Ich bekomme die Meldung, dass die ZIP-Datei ungültig bzw. korrupt ist.
     

  7. #7
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Durch den Inhaltstyp beziehungsweise den Dispositionstyp werden sämtliche Ausgaben als Datei an den Client geschickt. Also auch mögliche Fehlermeldungen und mögliche Leerraumzeichen, die vielleicht vor oder nach dem PHP-Block stehen. Deshalb sollte der PHP-Block das Erste in der Skriptdatei sein und eine weitere mögliche Ausgaben nach der readfile()-Funktion mittels exit; verhindert werden.
     
    Markus Wulftange

Ähnliche Themen

  1. Select funktioniert nicht korrekt
    Von exiter28 im Forum .NET Datenverwaltung
    Antworten: 4
    Letzter Beitrag: 13.09.10, 09:42
  2. IE a:hover funktioniert nicht korrekt!
    Von mR.fLopPy im Forum CSS
    Antworten: 12
    Letzter Beitrag: 04.12.09, 20:59
  3. Boole funktioniert nicht korrekt
    Von sight011 im Forum Cinema 4D
    Antworten: 14
    Letzter Beitrag: 13.09.08, 16:25
  4. Antworten: 2
    Letzter Beitrag: 13.01.05, 15:01
  5. Antworten: 2
    Letzter Beitrag: 09.12.04, 13:03