Hello,
Wie bekomme ich es hin, dass auch andere Formatierungen, wie Zeilenumbrüche, Absatz oder Überschriften, die in txt nicht vorhanden sind, übernommen werden? Gibt es andere Textformate, doc, rtf, die mit PHP eingelesen werden können, oder gibt es andere Techniken?
Indem du sie nicht mittels require einbindest und durch den PHP-Interpreter jagst sondern mit php einliest und entspreched selbst behandelst. z.B. mit file_get_contents - vorher aber bitte prüfen, ob die Datei wirklich existiert :)
Warum bitte vorher überprüfen, ob die Datei tatsächlich funktioniert?
Das ist und bleibt unsinnig. Man erzeugt sich dadurch immer einen TOCTOU-Fehler.
http://en.wikipedia.org/wiki/Time-of-check-to-time-of-use
Wenn die Datei nicht vorhanden ist, wird file_get_contents() ganz normal einen Fehler auslösen. Diesen Fehler kann man abfangen und abfragen. Dazu muss nur track_errors eingeschaltet werden. Dann steht der Fehlergrund (zumindest im Klartext) anschließend in $php_errormsg.
http://de.php.net/manual/en/reserved.variables.phperrormsg.php
Oder man definiert einen eigenen Error-Handler.
PHP schmeißt bei den üblichen Out-of-the-Box-Einstellungen für das Errorhandling noch eine Fehlermeldung an die Standardausgabe. Diese kann man im heißen Betrieb dann abschalten durch passende Wahl des Errorlevels, umleiten in eine Datei oder zur Not auch mit @ unterdrücken.
Dass überhauot ein Fehler aufgetreten ist, merkt man bei den Filefunktionen durch Auswertung des Handles oder bei den gekapselten Filefunktionen, die über Namen arbeiten (so wie file_get_contents()) über die Auswertung des Rückgabewertes.
Diese Auswertung sollte man nie vergessen!
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg