PHP 4.3

10.9 Dateibasierte Datenbanken

Auf den letzten Seiten haben Sie gelernt, einfache Textzeilen aus Dateien auszulesen bzw. in sie zu schreiben. Wir möchten Ihnen jetzt eine Methode vorstellen, tabellenartige Datenformate strukturiert zu verwalten. Eine recht einfache Möglichkeit bietet sich mit dem sogenannten csv-Format. csv steht für "comma separated value", zu Deutsch "komma-getrennte Werte". Dabei werden die Daten durch ein besonderes Zeichen (zumeist eben ein Komma) voneinander abgegrenzt, sodass Sie innerhalb einer Zeile mehrere zusammengehörende Daten speichern können.

Da csv-Daten als Text abgespeichert werden, haben Sie nach wie vor die Möglichkeit, die Dateien mit einem beliebigen Texteditor zu bearbeiten. Komfortabler geht es natürlich mit einem Tabellenkalkulationsprogramm wie MS Excel, die eine Unterstützung von csv-basierten Dateien mitbringt.

csv-Daten sind, wie der Screenshot zeigt, geeignet, viele zusammenhängende Werte abzubilden. Die Einsatzmöglichkeiten von kommaseparierten Daten sind deshalb sehr vielfältig. Von einem E-Mail-Verteiler über Adresslisten bis hin zu einer Produktdatenbank für einen Onlineshop stehen Ihnen viele Möglichkeiten offen, diese PHP-Funktionen zu nutzen.

Aufgrund der neutralen und einfachen Formatierung eignen sich csv-Daten natürlich auch für den Datenaustausch zwischen fremden Datenbanken. Ein weiterer Vorteil ist für Sie als Programmierer die leichtere Lesbarkeit der Ergebnisse des Skripts, die Fehler bei Schreibvorgängen offensichtlicher als bei Binärdaten werden lässt.

Wie Sie im Screenshot sehen können, weisen csv-Daten eine gewisse Ähnlichkeit mit der Struktur mehrdimensionaler Arrays auf. Diese hatten wir eingesetzt, um Daten, die zueinander in einem inhaltlichen Zusammenhang stehen, in geordneter Form zu verwalten. Während Arrays jedoch nur im Arbeitsspeicher des Servers verfügbar waren, stellen csv-Dateien nun eine Möglichkeit dar, Daten in strukturierter Form zu speichern. Zu unserem Vorteil bringt PHP mit fgetcsv() auch eine Funktion mit, mit der Sie sehr leicht Zeilen mit kommaseparierten Daten aus einer Datei auslesen können. Anders als die normale Funktion fgets() ist fgetcsv() nämlich in der Lage, die kommagetrennten Werte bereits in einem Array zurückzuliefern. Wir werden Ihnen zeigen, wie Sie sich damit einfach zu benutzende Lese- und Schreibfunktionen für dieses Datenformat definieren können.

Im abgebildeten Screenshot und den folgenden Beispielen setzen wir Kommata ein, um Werte voneinander zu trennen. Dies setzt natürlich voraus, dass die Werte selbst keine Kommata enthalten. In der Praxis ist auch hier die gleiche Umsichtigkeit notwendig, wie wir es schon in der Lerneinheit 9 zu Cookies beschrieben hatten.

Kommentare (0)

Ihr Kommentar

Name