Hallo RFZ,
Danke, du hast vollkommen recht, das hab ich mir auch schon gedacht... Nur was mich so verwirrt hat, auf meinem Windows-PC hat's funktioniert, und ich hab 2 genommen weil bei 1 nix funktioniert hat. Auf dem Linux-Server dann hab ich 1 eingetragen und es geht auch ;) Ich frag mich wo da der Unterschied liegt...
Unter Windows ist der Zeilentrenner \r\n, Unter Linux \n - d.h. Du musst unter Windows 2 Zeichen einlesen, unter Linux nur eines. Wenn Du das ganze Problem umgehen willst, dann öffne die Datei nicht im Binärmodus (bei fopen das b weglassen) und PHP wandelt alle Zeilenumbrüche transparent in \n um. (sofern die Datei selbst im Betriebsystemeigenen Format liegt) Dann brauchst Du immer nur ein Zeichen auslesen.
Was ich nicht ganz verstehe: Warum liest Du nicht den kompletten Inhalt der Datei ein ($inhalt = fgets ($fp, filesize($filename));) und ersetzt dann alle '<br>' durch "<br>\r\n"? str_replace ist Dein Freund.
Viele Grüße,
Christian