Sequenzielle Dateizugriffe in PHP
Zugrunde liegt eine Textdatei (daten.txt), die einen Adressdatensatz
beinhaltet.

Die Datei daten.txt wurde mit einem schlichten Texteditor
erzeugt.
Die Zeilen in dieser Datei sind alle unterschiedlich lang. Zeile 1
und 2 wurden durch einen
Zeilenumbruch beendet. Dann wurde die 3-te Zeile geschrieben (ohne
weiteren Zeilenumbruch)
und letzlich wurde die Datei unter dem Namen daten.txt
gespeichert.
Im folgenden Beispiel soll die erste Zeile ausgelesen
und dessen Inhalt am Bildschirm angezeigt werden.
<body>
<?php
if (!file_exists("daten.txt"))
{
echo "Datei nicht vorhanden.";
exit;
}
$dz=fopen("daten.txt","r");
if(!$dz)
{
echo "Datei konnte nicht geöffnet werden.";
exit;
}
$zeile=fgets($dz,50);
echo "Der Inhalt der ersten Zeile lautet: ";
echo $zeile;fclose($dz);
?>
</body>
Zum Einsatz kommen hier die PHP Funktionen file_exits ( ),
fopen ( ), fgets ( ) und fclose( ).
Mit file_exits ("daten.txt") wird überprüft,
ob die referenzierte Datei überhaupt existiert.
Wenn sie nicht existiert, wird das Programm abgebrochen (exit).
Mit fopen ("daten.txt","r") wird die Datei
zum Lesen geöffnet.
Der erste Parameter beinhaltet den Dateinamen der zu öffnenden
Datei.
Der zweite Parameter - hier r bestimmt den Öffnungsmodus.
Hier wird r für read gesetzt. Praktisch wird die
Datei nur zum Lesen geöffnet.
Weitere mögliche Modi wären w - (write - Schreiben
in eine Datei) und
a - (append - Anhängen an eine Datei).
Der Rückgabewert der Funktion $dz=fopen ("daten.txt","r")
ist ein sog. Dateizeiger,
der in der Variablen $dz gespeichert wird.
Weitere Zugriffe auf diese Datei werden mit diesem Dateizeiger realisiert.
Liegt die Datei "daten.txt", so wie hier in der Funktion
angegeben nicht im gleichen Verzeichnis,
liefert die Funktion ein false als Wert zurück.
Mit if ($dz) wird überprüft, ob der Dateizeiger auf
eine erfolgreich geöffnete Datei verweisst.
Ist dies nicht der Fall, wird das Programm mit exit beendet.
Mit der Funktion fgets ( ) wird der Inhalt der Zeile ausgelesen.
Hier: fgets ($dz,50);
Als erster Parameter wird der Funktion der zuvor erzeuge Dateizeiger
$dz als
Wert übergeben. Somit weiß die Funktion aus welcher Datei
gelesen werden soll.
Der 2-te Parameter ist die Leselänge. Hier beträgt die Leselänge
(50-1).
Praktisch wird die Länge der Zeile durch den Wert 50 begrenzt.
Zeilen, die z.B. 150 Zeichen aufweisen, werden nach dem 49-zigsten
angezeigten
Zeichen abgeschnitten. Der 2-te Parameter bestimmt die Leselänge.
Gelesen werden die Zeichen einer Zeile entsprechend der Leselänge,
bis zum
Zeilenumbruch oder bis zum Dateiende. Je nachdem, welches Ereignis
zuerst eintritt.
Das Ergebnis der Funktion fgets ( ) liefert den Inhalt der
Zeile zurück.
Mit der Funktion fclose( ) wird die geöffnete Datei wieder
geschlossen.
Auch hier wird der Funktion der entsprechende Dateizeiger der geöffneten
Datei,
als Parameter übergeben.
Das Schließen der Datei verhindert das Blockieren weiterer Zugriffe
auf die Datei,
seitens des Betriebssystems.
sequenzieller Zugriff
- PHP
- PHP installieren
- PHP - Anfang
- Variablen erzeugen
- Kommentare
- If-Anweisungen
- Logische Operatoren
- Funktionen
- For Schleifen
- While Schleife
- Formulare
- String Funktionen
- Textfelder mehrzeilig
- Radio Button Gruppe
- Select Auswahlen
- Checkbox
- Mehrfach Auswahlen
- Dateien
- Schleifen
- Array numerisch
- Array assoziativ
- Datum - Zeit
- Mail Funktionen
- Suchen|Ersetzen