Wenn ich nun diese geschriebene Datei (user.inc.php) mit Notepad öffne sollte man folgendes erwarten:
<?php die("Access Restricted"); ?>
irgendwas
Aber in Wirklichkeit erhält man statt der Zeilenschaltung (durch \n verursacht) nach <?php die("Access Restricted"); ?> ein schwarzes Kästchen und es erfolgt keine richtige Zeilenschaltung. Das hat zur Folge dass die Datei sehr unübersichtlich wird:
Wie kann ich dieses Programm so schreiben, dass diese Kästchen nicht entstehen !?
(Anmerkung: wenn ich bei CGI bei der Dateiausgabe \n schreibe wird im Notepad eine richtige Zeilenschaltung angezeigt und kein schwarzes Kästchen, aber was soll zwischen CGI und PHP so unterschiedlich sein !?!?!?)
Genau. Dein Problem heißt Notepad. Versuchs mal mit Wordpad.
Kann es sein, dass Dein PHP-Server eine Unix-Schüssel ist? Unix benutzt eine andere Art und Weise, eine neue Zeile zu erzeugen als Win oder DOS. Letztere schreiben einen Zeilenumbruch mit LF (Linefeed, Ascii 10) und CR (Carriage Return, Ascii 13). Unix dagegen braucht dafür nur ein Zeichen (LF, wenn ich mich nicht irre).
Notepad jedenfalls kann das nicht vernünftig lesen.
dein problem heisst nicht notepad, sondern zeilenumbruch:
unter unix ist dies nur das newline: \n
windows braucht noch einen „wagenruecklauf“ \r, also \r\n.
dann siehts auch im notepad toll aus …
Yep, da hätte ich auch drauf kommen müssen. Da ich aus religiösen Gründen kein Windows benutzen darf, habe ich natürlich gar nicht an „\r“ gedacht, weil ich es nie brauche.
Vielleicht könnten wir uns darauf einigen: Das Problem heißt in diesem Fall Zeilenumbruch und ansonsten Notepad
oder man benutzt zum editieren editplus… unterscheided bei der anzeige je nachdem, ob mehr (\r\n) oder (\n) drin sind.
ist zwar ein dirty trick, aber es kommt eben auf den anwendungszweck an. editplus ist ja auch sonst ein super programm (besonders zum php-coden da syntax-highlighting).
stefan
ps: ich arbeite nicht für die firma, die editpus herstellt, und verdiene auch in keinster weise mit!