pdf-Download/Anzeige im IE und Dateiname

C-H

Erfahrenes Mitglied
Hi!

Ich stelle ein pdf auf diese Weise zum anzeigen bereit, was auch funktioniert.
PHP:
header('Content-type: application/pdf');
header('Content-Disposition: attachement; filename="'.$docname.'.pdf"');
readfile($imgname);

Problem ist jetzt, dass beim Speichern oder versenden per Mail der Dateiname nicht übernommen wird.

Wenn ich im Acrobat die Option "Anzeige im Browser" deaktiviere, und im Acrobat speicher wird der richtige Dateiname übernommen.

Es geht übrigens um den Adobe Reader 7. Mit älteren Versionen konnte ich es noch nicht probieren. Aber es ist sowieso wichtiger, dass es im 7er läuft, da alle die darauf zugreifen diese Version nutzen.

Browser ist IE 6.
 
In der folgenden Zeile ist ein Fehler, und zwar heisst es attachment und nicht attachement.
PHP:
header('Content-Disposition: attachement; filename="'.$docname.'.pdf"');
 
OK, seh ich ein, da hab' ich mich vertippt.

Aber daran liegt es nicht. Der gleiche Fehler tritt übrigens auch auf, wenn ich statt "attachment" "inline" verwende.
 
Danke für deine Antwort, Gumbo, aber das hat leider auch nicht funktioniert.

Ich gehe mal davon aus, dass es ein Fehler im Plug-In für den IE ist, da ja (wie ich schon geschrieben habe) es in der eigentlichen Anwendung funktioniert.

Ich schau auch mal an meinem Privat-Rechner, ob im Firefox genauso ist.
 
Bei FPDF geht es so (bezüglich Header für IE):

header('Content-Type: application/force-download');
header('Content-Length: '.strlen($this->buffer));
header('Content-disposition: attachment; filename="'.$name.'"');

und dann readfile ....
 
Welcher Media-Typ wird denn mit „application/force-download“ klassifiziert? Für solche Fälle kenne ich nur den „application/octet-stream“-Media-Typ.
 
IE erkennt eigentlich PDF automatisch, falls nicht dann force-download.
Hatte bisher noch keine Probleme mit PDF und IE.

force-download ist zum Aufruf zum Speichern (glaub ich).
octet-stream war für andere Browser.

Bin mir jetzt aber nicht wirklich sicher, aber mit Google kann man das selber nachlesen.
 
Ich muss leider diesen alten Thread wieder aufwärmen. (denn ich habe die Suche benutzt bevor ich fragen stelle:-) )
Ich fummel jetzt schon seit 2 Tagen an diesem Problem und habe noch keine befriedigende Lösung für den IE.

Wenn ich den
PHP:
header('Content-disposition: attachment; filename="'.$name.'"');
setzte fragt mich der IE gelich 3 mal "Wie möchten Sie mit dieser Datei verfahren?"
Dann muss ich jedens mal "Vom aktuellem Speicherort öffnen" auswählen, denn ein download würde mit die HTML Seite speichern. Wenn ich statt "attachment" "inline" angebe scheint die Sache zu funktionieren - ich will aber kein inline.

Es funktiontioniert auch nur, wenn ich
PHP:
header('Content-Type: application/force-download');
setzte. Wenn ich pdf oder octet-stream angebe, behauptet PDF die Datei sei unlesbar.
 
Zurück