heute will ich euch einmal zeigen, wie ihr mit PHP Textdateien erstellen, lesen und löschen könnt. Auf diese Weise habt ihr eine einfache kleine Datenbank geschaffen.
1. Erstellen einer neuen Textdatei
eine direkt Funktion zum Erstellen von Textdateien gibt es nicht, man muss etwas mogeln. Versucht man nämlich, eine scheinbar vorhandene Textdatei zu öffnen und diese existiert nicht, wird einfach eine neue erstellt!
PHP Code:
$filename = "test.txt";
$file = fopen($filename, "a+");
)2. In Textdatei schreiben
Nun haben wir unsere Textdatei ausgewählt und (falls nicht vorhanden) erstellt.
In diese geöffnete Datei können wir nun unseren Inhalt schreiben (fwrite)
PHP Code:
$filename = "test.txt";
$file = fopen($filename , "a+");
fwrite($file , "Lorem ipsum sit dolor amat...");
fclose($file);
PHP Code:
$text = "Lorem ipsum sit dolor amat... \n";
fwrite($file , $text);
)Mit fclose wird die Datei am Ende des Vorganges wieder geschlossen.
2.1 Möglichkeit: Datei direkt lesen
Die erste Möglichkeit, die uns PHP bietet um eine Datei zu lesen, ist readfile
PHP Code:
readfile("test.txt");
2.2 Möglichkeit: Datei in ein Array speichern
Folgendes Script speichert den kompletten Inhalt der Textdatei in ein Array und gibt es so wieder. Nun wäre es auch möglich, jede beliebige Zeile der Textdatei auszugeben. Nehmen wir an, in unsere Textdatei steht folgendes:
Wir wollen nun alle Datensätze untereinander auslesenQuote:
Paul ; 16 ; ; 25.08.2007
Stefanie ; 21 ;; 16.04.2005
Rolf ; 17 ;; 23.09.2004
PHP Code:
$filename = "test.txt";
$array = file($filename);
for ($i=0; $i< count($array); $i++) { echo $array[$x].'<br />'; }
Hier geben wir nun mittels der for-Schleife alle Zeilen "so wie sie sind" fein säuberlich untereinander (<br />) aus.
Um nun eine bestimmte Zeile auszulesen, geben wir einfach die Zeilennummer -1 an.
Beispiel: Wir wollen die Daten von Stefanie. Diese sind in der zweiten Zeile abgespeichert, da wir aber von Null an beginnen zu zählen, lautet die Arraynummer von Stefanie 1
PHP Code:
$filename = "test.txt";
$array = file($filename);
echo $array[1];
Natürlich ist es auch möglich, unsere kleine Datenbank fein säuberlich auszugeben. Wir möchte die Daten der drei gespeicherten Benutzer in einer Tabelle anzeigen lassen
Code:
<table border=1 width="500" cellpadding="0" cellspacing="0">
<tr>
<td width="50"><b>Nr.</b></td>
<td width="150"><b>Name</b></td>
<td width="50"><b>Alter</b></td>
<td width="150"><b>Homepage</b></td>
<td width="100"><b>Datum</b></td>
</tr>
PHP Code:
$filename = "test.txt";
$array = file($filename);
for ($i=0; $i<count($array); $i++) {
$array[$i] = explode(";" , $array[$i]);
echo '<tr><td><b>'.($i+1).'</b></td>';
for ($a=0; $a<4; $a++) { echo '<td>'.$array[$i][$a].'</td>'; }
echo '</tr>'; }
echo '</table>';
Der Script-Anfang ist gleich dem obigen, wir speichern unseren Dateiinhalt in einen Array. Danach separieren wir wieder Zeile für Zeile mittels der for-Schleife.
Jetzt wirds knifflig: innerhalb der for-Schleife wird als erstes der Zeileninhalt aufgeschlüsselt. Wir haben die Informationen durch einen Strichpunkt getrennt. Diesen nutzen wir nun als Trennzeichen, um an jede Information einzeln ranzukommen. Dazu wird die Funktion explode genutzt. Diese Funktion erstellt uns wiederum ein Array und darum muss man hier besonders aufpassen: zwei Arrays, davon eines innerhalb des anderen, so genannte geschachtelte Arrays !!
Um die Übersicht etwas zu wahren, nummerieren wir unsere Ausgaben durch. Da wir aber bei Arrays wie gesagt bei Null anfangen zu zählen, müssen wir noch eine Eins hinzuaddieren, damit eine chronologisch richtige Abfolge entsteht.
Insgesamt haben wir vier Datensätze (Name, Alter, Website und Datum).
Wir geben also wieder mittels der for-Schleife diese Datensätze aus und schachteln sie in eine Tabellenspalte (<td>).
3. Neue Inhalte hinzufügen
.. und wie man neue Informationen der Datei hinzufügt, wisst ihr nun auch schon
Einfach Datei wieder öffnen (fopen) und den Inhalt einfügen (fwrite). Achtet darauf, dass ihr die Datensätze mit einem Trennzeichen verseht und am Ende einen Zeilenumbruch mittels \n erzwingt!
4. Textdatei löschen
Generell Dateien aller Art werden mit unlink gelöscht,
PHP Code:
unlink("test.txt");
Bei Fragen gilt wie immer: fragen!






