loy webdesign | Kreis Gütersloh

Auslesen einer Zeile einer Textdatei in PHP

Gegeben ist eine Textdatei, die 3 Zeilen mit unterschiedlicher Länge beinhaltet. Zeile 1 und 2 wurden mit einem Zeilenumbruch beendet - Zeile 3 hingegen nicht.

Im folgenden Beispiel soll die erste Zeile ausgelesen und dessen Inhalt am Bildschirm angezeigt werden.

 

 

eingesetzte PHP Funktionen

file_exits ( )
fopen ( )
fgets ( )
fclose ( )

 

 

 

Textdateien | PHP
Textdatei in PHP

 
 

PHP Script

PHP Script zum Auslesen einer Zeile der Textdatei "daten.txt".


<?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);
?>

file_exits ( )

Mit file_exits ("daten.txt") wird überprüft, ob die referenzierte Datei überhaupt existiert. Wenn sie nicht existiert, wird das Programm mit exit abgebrochen.

fopen ( )

Mit fopen (" daten.txt "," r ") wird die Datei zum Lesen geöffnet. Der erste Wert beinhaltet den Dateinamen der zu öffnenden Datei, der 2-te bestimmt den Öffnungsmodus.

Dateizeiger

$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 den Wert false zurück.
Es wird eine Fehlermeldung ausgegeben und mit exit wird das Programm beendet.

fgets ( )

Mit der Funktion fgets ( ) wird der Inhalt der Zeile ausgelesen.
hier: fgets ($dz,50);

Als erstes wird der Funktion der erzeugte Dateizeiger $dz übergeben, wodurch die Funktion dann weiss, aus welcher Datei gelesen werden soll. Der Wert 50 ist die Leselänge der auszulesenden Zeile. 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. 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 - hier wurde der Inhalt in der Variablen $zeile gespeichert.

fclose ( )

Mit fclose( ) wird die geöffnete Datei wieder geschlossen. Der Funktion wird der Dateizeiger der geöffneten Datei, als Wert übergeben. Das Schließen der Datei verhindert das Blockieren weiterer Zugriffe auf die Datei, seitens des Betriebssystems.