Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]829[/thread]

Name einer Downloaddatei: nicht des CGI-Skriptes



<< >> 5 Einträge, 1 Seite
wiel
 2006-10-09 20:00
#8890 #8890
User since
2006-08-08
11 Artikel
BenutzerIn
[default_avatar]
Moinsen,

habe ein CGI-Skript, das aus einer DB-Abfrage eine CSV erstellt. Nun würde ich gerne das Datum im Namen der zum Download erstellten Datei unterbringen, habe aber leider keinen Plan wie.
Code: (dl )
1
2
@time = localtime();
$name = sprintf "download%02d%02d%04d.csv", $time[3], $time[4]+1, $time[5]+1900;
Danach hat $name Werte wie "download09102006.csv". Den Inhalt dieser Variabeln würde ich gerne im Downloadmenu des Webbrowsers sehen und nicht den Namen des ausführenden CGI-Skriptes. Als Notbehelf habe ich momentan das Skript erstmal einfach download.csv genannt. Zugriff auf die Apachekonfiguration hätte ich. Ich hoffe eigentlich, daß man da was im http-header-Bereich drehen kann.
betterworld
 2006-10-09 21:00
#8891 #8891
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
Was meinst Du denn mit "Downloadmenu des Webbrowsers"? Der Apache liefert Dir eine Auflistung des Verzeichnisses als HTML, meinst Du das? Wenn Du ein Script namens "index.pl" oder "index.cgi" (die Namen kann man in der httpd.conf auch konfigurieren) erstellst, sollte es moeglich sein, dieses HTML damit selbst zu erzeugen.
ptk
 2006-10-09 21:13
#8892 #8892
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Du möchtest den Content-Disposition HTTP-Header setzen. Ein möglicher Wert wäre "attachment; filename=download0000000.csv".
wiel
 2006-10-09 23:10
#8893 #8893
User since
2006-08-08
11 Artikel
BenutzerIn
[default_avatar]
Mein Zeile zur Erzeugung des http-headers lautet jetzt
Code: (dl )
1
2
print header(-type => 'application/octet-stream',
-attachment => "$name");
und macht genau das was ich wollte. Das mit dem 'application/octet-stream' hatte ich in der docu gelesen, das mit dem '-attachment =>' überlesen,

danke
wiel
esskar
 2006-10-09 23:40
#8894 #8894
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=wiel,09.10.2006, 21:10]Mein Zeile zur Erzeugung des http-headers lautet jetzt
Code: (dl )
1
2
print header(-type => 'application/octet-stream',
         -attachment => "$name");
und macht genau das was ich wollte. Das mit dem 'application/octet-stream' hatte ich in der docu gelesen, das mit dem '-attachment =>' überlesen,

danke
wiel[/quote]
besser

Code: (dl )
print header(-type => 'text/x-csv', -attachment => $name);
<< >> 5 Einträge, 1 Seite



View all threads created 2006-10-09 20:00.