Unerklärliche cgi-Mutationen

Hallo allerseits,

also ich bin ja kein Kenner von CGI, benutze aber dennoch ein Freeware-Skript für ein Formular auf meiner Homepage. Es funktioniert bisher prima. Ich habe jetzt aber folgendes Phänomen entdeckt:

Wenn ich das Skript auf meinen Computer downloade und dann *das selbe Skript* wieder hochlade (Gott sei Dank habe ich vom Original noch 'ne Sicherheitskopie auf dem Server), funktioniert das Formular nicht mehr! Was ist passiert???

Mohamed.

Hallo allerseits,

also ich bin ja kein Kenner von CGI, benutze aber dennoch ein
Freeware-Skript für ein Formular auf meiner Homepage. Es
funktioniert bisher prima. Ich habe jetzt aber folgendes
Phänomen entdeckt:

Wenn ich das Skript auf meinen Computer downloade und dann
*das selbe Skript* wieder hochlade (Gott sei Dank habe ich vom
Original noch 'ne Sicherheitskopie auf dem Server),
funktioniert das Formular nicht mehr! Was ist passiert???

Entweder dein FTP-Programm hat die Zeilenenden mutiert, oder aber die Dateirechte geändert…
Eine neue Zeile wird in Unix/Linux durch das Zeichen mit dem Code 10 (\n) dargestellt, unter Windows durch 2 Zeichen (13,10 \r\n) auf dem Mac mit Code 13 (\r).
Das FTP-Programm hat deswegen die Einstellung „Übertragung als ASCII“ oder „Übertragung als Binär“. Bei der ASCII-Übertrgaung werden die Zeilenenden jeweils systemspezifisch angepasst, bei Binär nicht.
Einige Editoren auf Windows-Seite (Wordpad) laden zwar Dateien mit Unix-Zeilenenden, schreiben beim Speichern aber auf Windows-Zeilenendezeichen um.
Ein Script mit Windows-Zeilenenden funktioniert unter Linux aber nicht (in der ersten Zeile ist der Interpreter angegeben, und Linux denkt das überflüssige \r ist Teil des Dateinamens und findet die Datei nicht).
Deshalb auf Windows erstellte CGIs immer im ASCII-Modus übertragen.
Soviel zu den Zeilenenden, zu den Dateirechten habe ich was unter http://www.alexander-fleischer.de/info/chmod.php geschrieben.

Alexander

Danke Alexander,

ich vermute, daß es nicht an den Zeilen-Enden liegt, da mit Notepad geladen die Datei nach Kuddelmuddel aussieht, mit TextPad jedoch wieder ordentlich. Mit TextPad kann man auch im UNIX-Format abspeichern. Aber Dein anderer Tip (Dateizugriffsrechte) könnte eine heiße Spur sein, mal schau’n… :smile:

Thanks again,

Mohamed.

Entweder dein FTP-Programm hat die Zeilenenden mutiert, oder
aber die Dateirechte geändert…
Eine neue Zeile wird in Unix/Linux durch das Zeichen mit dem
Code 10 (\n) dargestellt, unter Windows durch 2 Zeichen (13,10
\r\n) auf dem Mac mit Code 13 (\r).
Das FTP-Programm hat deswegen die Einstellung „Übertragung als
ASCII“ oder „Übertragung als Binär“. Bei der ASCII-Übertrgaung
werden die Zeilenenden jeweils systemspezifisch angepasst, bei
Binär nicht.
Einige Editoren auf Windows-Seite (Wordpad) laden zwar Dateien
mit Unix-Zeilenenden, schreiben beim Speichern aber auf
Windows-Zeilenendezeichen um.
Ein Script mit Windows-Zeilenenden funktioniert unter Linux
aber nicht (in der ersten Zeile ist der Interpreter angegeben,
und Linux denkt das überflüssige \r ist Teil des Dateinamens
und findet die Datei nicht).
Deshalb auf Windows erstellte CGIs immer im ASCII-Modus
übertragen.
Soviel zu den Zeilenenden, zu den Dateirechten habe ich was
unter http://www.alexander-fleischer.de/info/chmod.php
geschrieben.

Alexander