Iork beim Pork: Windows-Text immer nur mit \r\n und Länge in fwrite() schreiben?

Beitrag lesen

Laut McCarty, PHP-Grundlagen (S. 234) muss beim Schreiben von Textdateien unter Windows immer \r\n statt einfachem \n als Zeilenumbruch geschrieben werden, außerdem soll eine Angabe der maximalen Zeilenlänge in fwrite() notwendig sein...

...wieso kann ich aber dann mit diesem Skript

<html>
<head>

fwrite($fh, "$i\t$a\t$b\n");

eine fehlerfreie Datei schreiben?

Weil diese Datei von einem Webbrowser verarbeitet wird und dem es egal ist, welche Form des Zeilenendes Du benutzt (oder ob überhaupt).

Würdest Du sie hingegen mit dem Windows-eigenen Texteditor Notepad öffnen, stünde alles in einer einzigen Zeile, weil dieses Programm nur \r\n als Zeilenende annimmt. Andere Texteditoren für Windows sind weniger wählerisch.

Grundsätzlich ist unter Windows \r\n als Zeilenende vorgesehen, so MacOS \r bevorzugt(e) und andere Systeme \n. Ob das nun aber eine Rolle spielt, hängt nicht vom Betriebssystem, sondern vom verarbeitenden Programm ab.