Internet Explorer achtet in vielen Bereichen (fälschlicherweise) auf Dateienedungen statt auf den MIME-Typ. Bei Verwendung eines GET-Requests, insbesondere aber bei einem POST-Request kann es dazu kommen, dass nur eine leere Seite dargestellt wird. Folgende Möglichkeiten gibt es, diesen Bug zu umgehen:
Umbenennen der Dateiendung in .pdf und Konfigurieren des Servers, dass .pdf-Dateien durch PHP geparsed werden, z.B. durch die Apache-direktiven AddType oder ForceType.
Bei GET ohne Parameter: Anhängen der Zeichenkette /.pdf an die URL. Beispiel: /pdf.php/.pdf. Über diese Methode kann auch ein Dateiname spezifiziert werden, für den Fall, dass die Datei abgespeichert wird und der betreffende Browser die Content-Disposition-Direktive nicht kennt.
Alternativ: Anhängen der Zeichenkette ?.pdf an die URL. Beispiel: /pdf.php?.pdf.
Bei GET mit Parametern: Anhängen der Zeichenkette &.pdf an die URL. Beispiel: /pdf.php?file=termine&.pdf.
Bei POST: Schreiben des Ergebnisses in eine temporäre Datei mit der Endung .pdf und Weiterleitung per header() auf die Datei.
Alternativ bei kleinen PDF-Dateien (siehe "Wie groß darf die Menge an Daten sein, die ich in einer Session speichern darf?"): Die PDF-Datei in die Session schreiben und Weiterleitung auf eine PHP-Datei, die den Dateiinhalt aus der Session ausgibt, mit den oben beschriebenen GET-Methoden.
Das Umschreiben der URL auf der Serverseite, z.B. durch das Apache-Modul mod_rewrite.
