red_or_dead: dateiname anzeigen.....

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....

  1. 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

    --
    Lass dir das Tanzen NICHT verbieten
    http://tanzverbot.de
    1. 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

      1. 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

        --
        Lass dir das Tanzen NICHT verbieten
        http://tanzverbot.de
  2. 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

  3. Indem du einen Header mit dem richtigen Dateinamen sendest:

    So gehts unter PHP:
    header(Content-Disposition: attachment; filename="datename.pdf");

    Gruß Philipp