Skript soll Download starten

Hallo,

ich möchte ein cgi-skript (perl) schreiben, das erst ein Formular auswertet und dann eine zip-Datei zurückliefert, so daß diese Datei nicht über einen Link erreichbar ist.

  1. Wenn der Browser die Daten gesendet bekommt, will er die Daten unter dem Namen des Skriptes speichern. Wie kann ich einen Namen vorgeben?

  2. Besteht vielleicht die Möglichkeit, den Download zu starten und eine HTML-Seite anzeigenzulassen?

Besten Dank…
…Sven

Hallo auch,

ich möchte ein cgi-skript (perl)
schreiben, das erst ein Formular
auswertet und dann eine zip-Datei
zurückliefert, so daß diese Datei nicht
über einen Link erreichbar ist.

was spricht dagegen, das Script eine dynamisch erzeugte seite zurückliefern zu lassen, auf der ein Link auf eine temporäre Datei liegt, die nach X Zeit geunlinkt wird?

Matthias

Temporäre Dateien schienen mir zu aufwendig, ich dachte es geht einfacher, da ich ähnliches schon bei anderen Websites gesehen habe (z.B. mp3.com).

Sven

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

  1. Wenn der Browser die Daten gesendet
    bekommt, will er die Daten unter dem
    Namen des Skriptes speichern. Wie kann
    ich einen Namen vorgeben?

PathInfo verwenden. Du verwendest eine URL http://www.server.com/foo.cgi/bar.zip

Es wird dann das CGI-Script foo.cgi aufgerufen. Das bar.zip kannst Du in der ENV-Variable PATH_INFO abfragen. Und der Browser verwendet natuerlich bar.zip als Dateinamen vorgabe.

  1. Besteht vielleicht die Möglichkeit,
    den Download zu starten und eine
    HTML-Seite anzeigenzulassen?

Ja. Das geht mir redirect. Du kannst Dir das z.B. bei tucows anschauen (http://tucows.univie.ac.at bzw. Dein naechstgelegener Mirror).