|
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 - Positeonierung unterstützen. MySQL tut dies nicht, daher ist diese Möglichkeitein Workaround für Cursorpositeonierung. Weiterhinkann man hiermit auch alle Arten von Gästebücher .... programmieren. Wichtig: AusSicherheitsgründen ist der Webserver einem Benutzer aufdem Server-Computer zugeordnet, der sehr wenig Rechte hat.U.a. darf er nicht einfach in eine Datei in ihrem Verzeichnisschreiben. Genausowenig darf er eine Datei in Ihrem Verzeichniserzeugen. OK.Gehen wir davon aus, daß wir nun eine Datei mit dem Namenxxx haben, deren Inhalt wir lesen wollen. Zuerstmü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:
- "r": nur lesen, begonnen
wird am Dateianfang.
- "r+": lesen und schreiben,
begonnen wird am Dateianfang.
- "w": nur schreiben.
Existiert die Datei bereits, wird der bisherige Inhalt
gelöscht. Existiert sie nicht, wird versucht sie zu erzeugen.
- "w+": lesen und schreiben.
Ansonsten wie "w".
- "a": nur schreiben.
Begonnen wird am Ende der Datei (a wie append, anhängen).
Existiert sie nicht, wird versucht, sie anzulegen.
- "a+": lesen und schreiben.
Ansonsten wie "a". Achtung: Es wird beim Lesen
natürlich auch am Ende der Datei begonnen (dort steht
natürlich nichts mehr...)
Mit
dem Befehl:
fwrite($datei, "Ein Text");
kann
der String Ein Text in die Datei geschrieben werden.
|
|
|