Heyo,
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!
Da die Datei test.txt nicht geöffnet werden kann (fopen), wird eine neue Textdatei namens test erstellt. Das Dateiattribut a+ generiert uns gleich eine les- und schreibbare Datei (mehr zu Dateiattributen [Only registered and activated users can see links. Click Here To Register...])
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)
Natürlich ist es egal, was wir in die Datei schreiben, ggf. können wir dort auch Variablen einfügen ..
Mit dem Escape-Code \n erzeugen wir nachfolgend eine neue Zeile / Zeilenumbruch (mehr zu Escape-Codes [Only registered and activated users can see links. Click Here To Register...])
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
Hier wird uns nur der einfache, unformatierte Inhalt der Textdatei text.txt wiedergegeben.
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:
Mittels der Funktion file lesen wir den Inhalt der Textdatei aus und speichern diesen in eine Variable ($array). Die Funktion count zählt dann die Anzahl der Elemente innerhalb des Arrays (Achtung: man fängt hier bei Null an zu zählen!)
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
2.3 Möglichkeit: Dateiinhalte schön sortieren
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
Das ist unser Grundgerüst, unter welchem wir nachfolgend die Informationen ausgeben werden
Ich gebe zu: das sieht etwas verwirrend aus!
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>).
[Only registered and activated users can see links. Click Here To Register...]
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,
So das wärs dann erstmal :)
Bei Fragen gilt wie immer: fragen!
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 ; [Only registered and activated users can see links. Click Here To Register...] ; 25.08.2007
Stefanie ; 21 ; [Only registered and activated users can see links. Click Here To Register...] ; 16.04.2005
Rolf ; 17 ; [Only registered and activated users can see links. Click Here To Register...] ; 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>).
[Only registered and activated users can see links. Click Here To Register...]
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!