Seite 1 von 1

*.csv Datei in CGI Verzeichnis anzeigen

Verfasst: Donnerstag 11. Januar 2007, 00:05
von ichagx03
Hallo

Ich erstelle über ein Python skript eine *.csv Datei. Das geht soweit auch alles gut.
Jetzt möchte ich aber auf diese Datei einen Link machen können, so das man die Datei Downloaden kann. Bei einem Link auf die Datei (im cgi-bin Verzeichnis) bekomme ich aber eine Fehlermeldung:
Fehlermeldung:
Premature end of script headers: ausgabe.csv
Ich habe dann versucht die Datei nicht im cgi-bin verzeichniss abzuspeichern. Dies geht dann aber nicht mehr (Schreibrechte sind gegeben).

Kann mir jemand weiter helfen?

Re: *.csv Datei in CGI Verzeichnis anzeigen

Verfasst: Donnerstag 11. Januar 2007, 18:07
von Leonidas
Hallo ichagx03, willkommen im Forum!
ichagx03 hat geschrieben:Dies geht dann aber nicht mehr (Schreibrechte sind gegeben).
Wie lautet die Fehlermeldung?

Verfasst: Donnerstag 11. Januar 2007, 20:29
von birkenfeld
Dein cgi-bin/ ist nur für CGI-Skripte gedacht. Bei jedem Request nach Dateien in cgi-bin/ wird versucht, die Datei als Skript auszuführen.

Entweder du legst sie in einem Nicht-CGI-Verzeichnis ab, oder du schreibst ein Skript, das einfach nur die Datei an den Empfänger durchgibt.

Verfasst: Donnerstag 11. Januar 2007, 20:47
von ichagx03
Die Fehlermeldung wenn ich auserhalb des cgi-bin Pfades etwas schreiben möchte sieht so aus:
IOError: [Errno 2] No such file or directory: '/temp/ausgabe.csv'
args = (2, 'No such file or directory')
errno = 2
filename = '/temp/ausgabe.csv'
strerror = 'No such file or directory'
birkenfeld hat geschrieben:Dein cgi-bin/ ist nur für CGI-Skripte gedacht. Bei jedem Request nach Dateien in cgi-bin/ wird versucht, die Datei als Skript auszuführen.

Entweder du legst sie in einem Nicht-CGI-Verzeichnis ab, oder du schreibst ein Skript, das einfach nur die Datei an den Empfänger durchgibt.
Dies dachte ich mir. aber es muss doch irgendwie möglich sein die Datei auserhalb zu speichern. Ich will nicht die Datei anzeigen, sondern man muss sie downloaden können.

Verfasst: Donnerstag 11. Januar 2007, 20:54
von birkenfeld
Gibt es das Verzeichnis `/temp`? Unter Unix-Systemen heißt das nämlich `/tmp`.

Verfasst: Donnerstag 11. Januar 2007, 21:09
von ichagx03
ja schon. aber dieses Verzeichnis habe ich selber angelegt. das Verzeichnis existiert also.

Verfasst: Donnerstag 11. Januar 2007, 21:12
von BlackJack
Liste Dir von einem CGI Skript aus doch mal den Inhalt von '/' auf. Würde mich nicht wundern wenn der Webserver in einer `chroot`-Umgebung läuft und '/' nicht das ist, was Du denkst.

Verfasst: Donnerstag 11. Januar 2007, 21:33
von ichagx03
oke. hasst recht es ist eine chroot-Umgebung.
aber ich kann meine Datei auch nicht mit relativen Pfad angaben oder wenn ich den ganzen pfad (webadresse à la "www.demo.ch/temp") eingebe. schreiben.
Bei der relativen pfad angabe kommt zwar keine Fehlermeldung. aber es schreibt auch nichts.

Verfasst: Donnerstag 11. Januar 2007, 21:39
von ichagx03
Es hat jetzt doch noch geklappt mit relativer angabe. (habe einen kleine Schreibfehler gemacht ;) )
Ich danke euch für die Hilfe. Ist echt ein gutes Forum. Ich könnte mir vorstellen das ich in zukunft ab und zu hir verbei schauen werde.

Verfasst: Donnerstag 11. Januar 2007, 21:40
von BlackJack
Die "Webadresse" geht natürlich nicht, Dateienamen und URLs sind zwei verschiedene Dinge.

Wenn Du einen relativen Pfad benutzt um etwas zu schreiben und keine Fehlermeldung kommt, wird auch irgendwo eine Datei erzeugt. Du musst herausfinden welche Pfade der Webserver "sieht".

Verfasst: Freitag 12. Januar 2007, 10:48
von jens
btw.: [wiki]Web-Skripte zum laufen bringen[/wiki] :lol: