Christian Kruse: \r, \n oder \r\n ?

Beitrag lesen

Hallo Philipp,

Kann es sein, dass ich den Wald grad vor lauter Bäumen nicht mehr
sehe, oder habe ich einfach ein Unixisches PHP auf einem Windows-
Rechner?

Aus http://php.net/fopen:

|Note: Different operating system families have different
|line-ending conventions. When you write a text file and want to
|insert a line break, you need to use the correct line-ending
|character(s) for your operating system. Unix based systems use
|\n as the line ending character, Windows based systems use \r\n
|as the line ending characters and Macintosh based systems use \r
|as the line ending character.

|If you use the wrong line ending characters when writing your
|files, you might find that other applications that open those
|files will "look funny".

|Windows offers a text-mode translation flag ('t') which will
|transparently translate \n to \r\n when working with the file. In
|contrast, you can also use 'b' to force binary mode, which will
|not translate your data. To use these flags, specify either 'b'
|or 't' as the last character of the mode parameter.

|The default translation mode depends on the SAPI and version of
|PHP that you are using, so you are encouraged to always specify
|the appropriate flag for portability reasons. You should use the
|'t' mode if you are working with plain-text files and you use \n
|to delimit your line endings in your script, but expect your files
|to be readable with applications such as notepad. You should use
|the 'b' in all other cases.

|If you do not specify the 'b' flag when working with binary files,
|you may experience strange problems with your data, including
|broken image files and strange problems with \r\n characters.

Und, das wichtigste:

|For portability, it is strongly recommended that you always use
|the 'b' flag when opening files with fopen().

|Again, for portability, it is also strongly recommended that you
|re-write code that uses or relies upon the 't' mode so that it
|uses the correct line endings and 'b' mode instead.

|As of PHP 4.3.2, the default mode is set to binary for all
|platforms that distinguish between binary and text mode. If you
|are having problems with your scripts after upgrading, try using
|the 't' flag as a workaround until you have made your script more
|portable as mentioned above.

Grüße,
 CK

--
Der Verstand ist der Hausherr, der Koerper sein Gast.