Content-Disposition: inline / filename übergeben
basti_p
- php
Hallo,
ich habe eine Frage zm Download via PHP-Script:
in meinem CMS werden alle hochgeladenen Dateien unter einer Nummer + Extension abgespeichert, der richtige Dateiname steht in einer MySQL-Tabelle.
Das Downloadscript liefert die runterzuladende Datei dann so aus:
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename="".$save_as_name.""");
was auch prima funktioniert.
Allerdings würde ich jetzt gebeten, dass PDF-Dateien ohne den "Öffnen/Speichern-Dialog" sofort geöffnet werden. Das wollte ich so realisieren:
if(pdf...)
header("Content-Type: application/pdf");
header("Content-Disposition: inline; filename="".$save_as_name.""");
Funktioniert auch, leider wird aber das filename-Argument ignoriert; die PDF-Datei heisst dann immer wie das Download-Script "download.pdf".
Gibt es eine Möglichkeit, bei "Content-Disposition: inline" auch den Namen mitzugeben?
Danke und Grüße Basti
Hi,
Gibt es eine Möglichkeit, bei "Content-Disposition: inline" auch den Namen mitzugeben?
Diese Möglichkeit nutzt Du.
Allerdings gibt es "Dumpf-Browser", die das ggf. nicht interessiert.
Abhilfe: Dateinamen dem Script via PATH_INFO übergeben (z.B. http://example.com/download.php/mypdf.pdf) oder (IIRC) als QUERY_STRING (z.B. http://example.com/download.php?mypdf.pdf)
Gruß, Cybaer