dateiname anzeigen.....
red_or_dead
- cgi
hallo leute,
ich habe mal wieder eine frage....
wenn ich dokumente (pdf,msword,etc) aus einer datenbank zum download bereitstelle, dann lade ich sie in eine variable $dokument und gebe sie mit print $dokument aus. soweit so gut. wie kann ich es jetzt anstellen, dass er mir beim downloadfenster auch noch den richtigen dateinamen anzeigt?
vielen dank schonmal für euere hilfe....
Hallo,
wenn ich dokumente (pdf,msword,etc) aus einer datenbank zum download bereitstelle, dann lade ich sie in eine variable $dokument und gebe sie mit print $dokument aus. soweit so gut. wie kann ich es jetzt anstellen, dass er mir beim downloadfenster auch noch den richtigen dateinamen anzeigt?
Den solltest du im Header übermitteln. Allerdings glaube ich nicht, dass alle Browser da wirklich mitmachen. Rufe dein Script lieber so auf, dass der Dateiname hier schon so übergeben wird, dass der Browser ihn auch für diesn hält. Also z.B. http://example.com/cgi-bin/download.cgi/meineworddatei.doc
Das meineworddatei.doc sollte dir dein Server im Environment bereitstellen.
Viele Grüße,
Stefan
hallo stefan,
ich denke, du hast mein probem erkannt: ie6 mit verschiedenen dateiformaten.
allerdings funktioniert dein trick mit meinem link nicht.
http://172.16.148.125/cgi-bin/intern.pl?Aktion=Analyse&ID=58&dateinname=Chartbibliothek.ppt
weisst du, woran es liegen könnte?
was meinst du genau mit im enviroment bereitstellen?
ich lade die datei einfach mit einem select in eine variable und sage dann print $variable
ich weiss echt nicht mehr weiter
gruss
philipp
Hallo,
allerdings funktioniert dein trick mit meinem link nicht.
http://172.16.148.125/cgi-bin/intern.pl?Aktion=Analyse&ID=58&dateinname=Chartbibliothek.ppt
So war das mit dem Link ja auch nicht gemeint. Der Browser weiß schon, dass da hinten dran der Search String ist. Er muss der Ansicht sein, dass der Dateiname noch vor dem ? kommt.
Gehe doch einfach mal auf folgende Seite:
http://realteck.in-berlin.de/pub/printenv.pl/meinedatei.doc?download=yes
Das printenv.pl Script gibt die Umgebungsvariablen aus. Beachte hier bitte diese Einträge
PATH_INFO /meinedatei.doc
QUERY_STRING download=yes
Wenn dein Webserver damit zurecht kommt (Apache macht es), dass nach einem CGI Script ein Slash und noch weiterer Kurscht steht, dann kannst du dem Browser so vorgaukeln die Ressource würde meinedatei.doc heißen.
Viele Grüße,
Stefan
hi,
wenn ich dokumente (pdf,msword,etc) aus einer datenbank zum download bereitstelle, dann lade ich sie in eine variable $dokument und gebe sie mit print $dokument aus. soweit so gut. wie kann ich es jetzt anstellen, dass er mir beim downloadfenster auch noch den richtigen dateinamen anzeigt?
guck mal hier, sollte funktionieren
http://perlbase.xwolf.de/cgi-bin/perlbase.cgi?dis.10.13
Viele Grüße, Rolf
Indem du einen Header mit dem richtigen Dateinamen sendest:
So gehts unter PHP:
header(Content-Disposition: attachment; filename="datename.pdf");
Gruß Philipp