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