Weiter Zurück [Inhalt] Online Suche im Handbuch

39.15 Dateien lesen und schreiben

Für die Ausgabe der Suchergebnisse von MySQL z.B., ist es nützlich, diese in eine Datei zu schreiben, um dann in Ruhe duch die Ausgabe vor-und zurück blättern zu können. Das entlastet den MySQL Serverdämon. Moderne JDBC-Treiber unterstützen das Blättern mit CURSOR, hierzu muß jedoch die SQL-Datenbank die Cursor - Positionierung unterstützen. MySQL tut dies nicht, daher ist diese Möglichkeit ein Workaround für Cursorpositionierung. Weiterhin kann man hiermit auch alle Arten von Gästebücher .... programmieren.

Wichtig: Aus Sicherheitsgründen ist der Webserver einem Benutzer auf dem Server-Computer zugeordnet, der sehr wenig Rechte hat. U.a. darf er nicht einfach in eine Datei in ihrem Verzeichnis schreiben. Genausowenig darf er eine Datei in Ihrem Verzeichnis erzeugen.

OK. Gehen wir davon aus, daß wir nun eine Datei mit dem Namen xxx haben, deren Inhalt wir lesen wollen.

Zuerst müssen wir die Datei öffnen, dabei muß angegeben werden, was mit der Datei geschehen soll: Wollen wir lesen, schreiben, anhängen,... Der Befehl lautet:

 

        $datei = fopen("xxx","r");

Das heißt, wir öffnen die Datei mit dem Namen xxx und wollen darin lesen ("r"). Die technischen Details lassen wir dabei von der Variablen $datei regeln, d.h. wenn wir später aus der Datei lesen wollen, so benützen wir die Variable $datei.

Nun lesen wir zeilenweise den Inhalt der Datei, und zwar so lange, bis wir ans Ende der Datei gelangt sind:


        while (!feof($datei)) {
                $zeile = fgets($datei,1000);
                echo $zeile;
        }

feof($datei) ist wahr, sobald wir an das Datei-Ende gelangt sind. $zeile = fgets($datei,1000); liest maximal die nächsten 1000 Zeichen, hört aber auf, sobald eine neue Zeile beginnt, oder das Ende der Datei erreicht ist.

echo $zeile; gibt einfach das Gelesene wieder aus.

Schließlich muß die Datei noch geschlossen werden:

 

        fclose($datei);

Es gibt unterschiedliche Arten, eine Datei zu öffnen:

Mit dem Befehl:

 

        fwrite($datei, "Ein Text");

kann der String Ein Text in die Datei geschrieben werden.


Weiter Zurück [Inhalt] Online Suche im Handbuch