![]() |
|
|||||||
| Newsgroup de.comm.infosystems.www.authoring.misc Webseiten, (X)HTML, CSS und mehr. |
![]() |
|
|
Themen-Optionen | Ansicht |
|
#1
|
|||
|
|||
|
Hallo allerseits,
eines vorweg: Auch wenn hier PHP auftaucht, ist es keine PHP-Frage. PHP ist hier nur Mittel zum Zweck (HTTP-Header senden) und funktioniert auch. Nun zum eigentlichen Problem. Ich erzeuge per PHP-Script ein PDF und sende dieses an den Browser. Das funktioniert so weit auch problemlos. Der Acrobat Reader startet und zeigt mir die Datei innerhalb des Browserfensters an. Wenn ich jetzt jedoch im Reader auf "Speichern" drücke, dann wird nicht etwa der übermittelte PDF-Dateiname zum Speichern angezeigt, sondern der Name des PHP-Scripts (mit .pdf statt .php). Der Name wird mit diesem Header übermittelt (stammt aus den Tiefen von TCPDF): content-disposition: inline; filename="Angebot_1072009_Test2.pdf"; Der Header kommt auch in dieser Form an, wie mir die Extension "Live HTTP Headers" im SeaMonkey 1.1.18 verrät. Der Browser scheint diese Info allerdings zu ignorieren oder zumindest nicht an den Reader weiterzugeben. Mache ich jedoch aus dem "inline" ein "attachment", wird der Dateiname ausgewertet. Allerdings werde ich dann jedesmal gefragt, ob ich die Datei speichern oder anzeigen möchte. Diese Abfrage ist jedoch nicht erwünscht. Der Kunde möchte sich das PDF in der Regel nur anschauen. Wie muss der Header aussehen, dass das PDF sofort angezeigt _und_ der Dateiname übermittelt wird? Geht das überhaupt? Gruß. Claus |
|
|
||||
|
||||
|
|
|
#2
|
|||
|
|||
|
On Fri, 30 Oct 2009 10:36:56 +0100, Claus Reibenstein
<4spamersonly*kabelmail.de> wrote: > Wie muss der Header aussehen, dass das PDF sofort angezeigt _und_ der > Dateiname übermittelt wird? Geht das überhaupt? M.E. geht das leider nicht. Warum das so ist, weiß ich auch nicht. Wenn du das Thema googlest, findest du diese Aussage wieder. |
|
#3
|
|||
|
|||
|
..oO(Claus Reibenstein)
>eines vorweg: Auch wenn hier PHP auftaucht, ist es keine PHP-Frage. PHP >ist hier nur Mittel zum Zweck (HTTP-Header senden) und funktioniert auch. > >Nun zum eigentlichen Problem. > >Ich erzeuge per PHP-Script ein PDF und sende dieses an den Browser. Das >funktioniert so weit auch problemlos. Der Acrobat Reader startet und >zeigt mir die Datei innerhalb des Browserfensters an. > >Wenn ich jetzt jedoch im Reader auf "Speichern" drücke, dann wird nicht >etwa der übermittelte PDF-Dateiname zum Speichern angezeigt, sondern der >Name des PHP-Scripts (mit .pdf statt .php). Kannst Du (ggf. mit mod_rewrite o.ä.) die URL so abändern, so daß dort bereits .pdf im Pfad auftaucht? Also statt http://example.com/download.php?file=foo.pdf sowas wie http://example.com/download/foo.pdf Ob das allerdings das Problem mit dem Reader lösen kann, weiß ich nicht. Micha |
|
#4
|
|||
|
|||
|
Michael Fesser schrieb:
> ..oO(Claus Reibenstein) > >> Ich erzeuge per PHP-Script ein PDF und sende dieses an den Browser. [...] >> >> Wenn ich jetzt jedoch im Reader auf "Speichern" drücke, dann wird nicht >> etwa der übermittelte PDF-Dateiname zum Speichern angezeigt, sondern der >> Name des PHP-Scripts (mit .pdf statt .php). > > Kannst Du (ggf. mit mod_rewrite o.ä.) die URL so abändern, so daß dort > bereits .pdf im Pfad auftaucht? Also statt > > http://example.com/download.php?file=foo.pdf > > sowas wie > > http://example.com/download/foo.pdf Keine Ahnung. Habe mich mit mod_rewrite noch nie auseinandergesetzt. Ich weiß nur, dass es das gibt ... > Ob das allerdings das Problem mit dem Reader lösen kann, weiß ich nicht. Wenn die URL so aussieht, müsste der das eigentlich fressen. Echte PDF-Dateien werden ja genau so gesendet und funktionieren dann auch. Gruß. Claus |
|
#5
|
|||
|
|||
|
Hallo Claus Reibenstein! Du schriebst:
> Ich erzeuge per PHP-Script ein PDF und sende dieses an den Browser. Das > funktioniert so weit auch problemlos. Der Acrobat Reader startet und > zeigt mir die Datei innerhalb des Browserfensters an. > > Wenn ich jetzt jedoch im Reader auf "Speichern" drücke, dann wird nicht > etwa der übermittelte PDF-Dateiname zum Speichern angezeigt, sondern der > Name des PHP-Scripts (mit .pdf statt .php). Ja Die Lösung dafür hat Dir Michael ja bereits genannt. Hat zwar nix mit dieser Gruppe zu tun aber dennoch hier eine Möglichkeit von vielen über mod_rewrite RewriteEngine On # Angeforderte Dateien die nicht existieren RewriteCond %{REQUEST_FILENAME} !-f # Angeforderte Verzeichnise die nicht existieren RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([A-Za-z0-9\ _/:.-]{2,})$ index.php?missingURL=$1 [QSA,L] In index.php steht die der komplette angeforderte Pfad dann in der GET- Variable 'missingURL' zur Verfügung. Wird hier also http://example.com/download/my.pdf aufgerufen welches nicht existiert enthält $_GET['missingURL'] den Wert '/download/my.pdf' tritt das ein kannst Du entsprechend reagieren ansonsten wenn was anderes drin steht dem keine Resource zugeordnet ist einfach nen 404 senden. System verstanden? MfG, Ulf |
|
#6
|
|||
|
|||
|
Claus Reibenstein schrieb:
> Ich erzeuge per PHP-Script ein PDF und sende dieses an den Browser. Das > funktioniert so weit auch problemlos. Der Acrobat Reader startet und > zeigt mir die Datei innerhalb des Browserfensters an. > > Wenn ich jetzt jedoch im Reader auf "Speichern" drücke, dann wird nicht > etwa der übermittelte PDF-Dateiname zum Speichern angezeigt, sondern der > Name des PHP-Scripts (mit .pdf statt .php). Was passiert denn, wenn du die Speichern-Funktion des _Browsers_ verwendest? -- Johannes Koch In te domine speravi; non confundar in aeternum. (Te Deum, 4th cent.) |
|
#7
|
|||
|
|||
|
Johannes Koch schrieb:
> Claus Reibenstein schrieb: > >> Wenn ich jetzt jedoch im Reader auf "Speichern" drücke, [...] > > Was passiert denn, wenn du die Speichern-Funktion des _Browsers_ verwendest? Dann macht er genau das, was ich haben wollte *freu* :-) Danke. Auf die Idee wäre ich von alleine wohl nie gekommen. Gruß. Claus |
|
#8
|
|||
|
|||
|
On Fri, 30 Oct 2009 10:36:56 +0100, Claus Reibenstein
<4spamersonly*kabelmail.de> wrote: > Wie muss der Header aussehen, dass das PDF sofort angezeigt _und_ der > Dateiname übermittelt wird? Warum ignoriert der PDF-Viewer/Plugin den Header eigentlich? |
|
#9
|
|||
|
|||
|
Chris Seidel wrote:
>> Wie muss der Header aussehen, dass das PDF sofort angezeigt _und_ der >> Dateiname übermittelt wird? > > Warum ignoriert der PDF-Viewer/Plugin den Header eigentlich? Vielleicht weil er ihn überhaupt nicht zu sehen bekommt. Zum Beispiel, indem der Browser eine temporäre Datei anlegt und diese an den Viewer weiterschickt. vG -- "Es geht um die letzten Reste menschlichen Anstandes in einer Überflußgesellschaft. Wenn einer 40 Stunden arbeitet und sich dabei Mühe gibt, soll er auch davon leben können. Da gibt es doch nichts zu diskutieren! Entweder Sie sind für den Mindestlohn, oder Sie sind ein Arschloch, fertig, aus!" (Volker Pispers, "Bis neulich") |
|
#10
|
|||
|
|||
|
Chris Seidel schrieb:
> On Fri, 30 Oct 2009 10:36:56 +0100, Claus Reibenstein > <4spamersonly*kabelmail.de> wrote: > >> Wie muss der Header aussehen, dass das PDF sofort angezeigt _und_ der >> Dateiname übermittelt wird? > > Warum ignoriert der PDF-Viewer/Plugin den Header eigentlich? Weil der Browser diese Information nicht zwangsläufig an das Plugin weitergibt. -- http://arnowelzel.de http://de-rec-fahrrad.de |
|
|
|
|
![]() |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Erstellt von | Forum | Antworten | Letzter Beitrag |
| automatisch Handynummer im Internet übermitteln | Peter Mertens | Newsgroup de.comm.technik.mobil | 8 | 06-13-2009 05:50 PM |
| Useranmeldung & Exchangeserver etc. bei Erstanmeldung übermitteln | apfel | Newsgroup microsoft.public.de.windows.server.sbs | 6 | 07-11-2008 08:35 AM |
| Tabelle per TCP übermitteln | maqqusz | Newsgroup de.comp.lang.delphi.misc | 20 | 06-15-2008 05:21 AM |
| Datei übermitteln | martin koenig | Newsgroup microsoft.public.de.german.entwickler.dotnet.asp | 9 | 06-11-2008 10:55 PM |
| hyperref: \href{5.1-Dateiname}{Dateiname} funktioniert nicht | Keks Dose | Newsgroup de.comp.text.tex | 3 | 01-24-2008 09:42 AM |