Pdf-Download erzwingen - Problem bei IE

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

  • Pdf-Download erzwingen - Problem bei IE

    Hallo,

    mit folgendem Code erzwinge ich den Download einer PDF-Datei:

    PHP-Code:
    header("Content-length: " filesize($pfad));
    header("Content-type: application/pdf");
    header("Content-Disposition: attachment; filename=".$filename);
    header("Connection: close");
    readfile($pfad); 
    Funktioniert auch soweit so gut. Nun wird aber ja auch immer abgefragt, ob man die Datei gleich öffnen möchte oder ob man sie wirklich speichern möchte. Wählt man "Speichern unter..." ist alles ok - die Datei wird runtergeladen und man kann sie öffnen.

    Wählt man dagegen "Öffnen" so öffnet sich der Acrobat-Reader und dann erscheint die Fehlermeldung
    Code:
    Beim Öffnen dieses Dokuments ist ein Fehler aufgetreten.
    Diese Datei kann nicht gefunden werden.
    Ich hab daher mal die Header angeschaut - ich könnte mir vorstellen, dass es da ein Problem mit
    Code:
    Content-Encoding: gzip
    Transfer-Encoding: chunked
    gibt - vermute dass hier der Reader dann schon gestartet wird, bevor der Download komplett ist und er deswegen Probleme macht.

    Weiß jemand wie ich den WebServer aus PHP heraus dran hindern kann, dass er die beiden Verfahren anwendet??

    Gruß
    Quetschi
    Zuletzt geändert von Quetschi; 01.04.2008, 16:02.
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

  • #2
    Ist schon seltsam - wenn ich den Download nicht erzwinge und die PDF-Datei einfach durchschleife öffnet der Reader die Datei anstandslos obwohl die Datei ebenfalls mit Transfer-Encoding:chunked und gzip ankommt.

    Irgendjemand ne Idee oder das selber schonmal so beobachtet
    Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
    Schön - etwas Geschichte kann ja nicht schaden.
    Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

    Kommentar


    • #3
      mal das hier zusätzlich ausprobiert?
      PHP-Code:
      header("Content-Type: application/force-download"
      gruß
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        @Kropff

        Ja - hatte ich auch schon drin - gleiches Resultat - im übrigen ist das ein Mime-Type der gar nicht existiert - ist kein Standard.

        Hab eben noch festgestellt, dass es funktioniert, wenn man die Uri direkt in die Adressleiste eintippt. Nutzt man dagegen den Link auf der Webseite, dann spinnt das. IE6 ist und bleibt ein Mysterium für sich...
        Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
        Schön - etwas Geschichte kann ja nicht schaden.
        Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

        Kommentar


        • #5
          versuch's mal mit diesen headern: Wie realisiere ich einen Dateidownload mit PHP?

          Kommentar

          Lädt...
          X