Lektion 1 - Cookies auf Zeit

Textdateien auf dem Server

Für die Serverprogrammiersprache PHP ist dieses Kapitel sehr wichtig. Hier lernst du, wie man Daten aus Dateien auslesen bzw. ablegen kann. Dafür gibt es unterschiedliche vordefinierte Funktionen, welche zunächst an Beispielen vorgestellt werden. Alle zusammen sind notwendig, wenn man eine Andwendung wie beispielsweise einen Besucherzähler programmieren möchte.

Anlegen einer Textdatei

Lege die Datei nachname.txt mit dem Inhalt „Mein Name ist Vorname Nachname und ich gehe auf das AEG in RT“ auf dem Server an. Sie sollte im gleichen Verzeichnis sein wie deine index.php.

Dateien zum Lesen öffnen

Die Funktion

fopen()

mit den Argumenten „Dateiname“ und „Modus“ öffnet eine serverliegende Datei. Der Modus entscheidet dabei, ob du entweder

r ⇒ lesen/read,

r+ ⇒ lesen und schreiben

kannst. Es gibt noch weitere Modi, die aber nicht ganz so wichtig bzw. nicht unbedingt sehr brauchbar sind.

Bei dem Modus r+ beginnt das Lesen und Schreiben am Anfang der Datei - die Position eines Art „Cursors“ bestimmt dabei ein Zeiger.

Der Dateizeiger wird von der Funktion fopen() positioniert. Wenn die Datei dann einmal geöffnet ist, arbeitet man sich mit diesem Dateizeiger durch. Deswegen muss man den Status des Zeigers in einer Variablen speichern, um später an dieser Stelle weiterarbeiten zu können. Die Variable kann einen beliebigen Namen erhalten, wir nennen diese hier im Beispiel $fp wie file pointer.

Beispiel:

$fp = fopen("nachname.txt", "r+");

Daten auslesen

Hier kommt die Funktion

fgets()

ins Spiel. Als Argument werden ihr ein Dateizeiger und die maximale Zahl an Bytes übermittelt, welche ausgelesen werden sollen. Bei 10 Byte werden also bis zu neun Stellen gelesen, welche ebenfalls in einer Variablen gespeichert werden müssen.

für das Beispiel oben:

$content1 = fgets($fp, 10);

Der Dateizeiger wandert dabei immer weiter und bleibt nach Erreichen der maximalen Zahl an Bytes stehen, bis eine weitere Ausgabe erfolgt.

Übung

Programmiere in deine index.php-Datei eine Ausgabe deiner nachname.txt-Datei, wobei

zuerst 5 Byte

danach 10 Byte

der restliche Inhalt

in je einer Zeile ausgegeben werden.