Dateibasierte Datenbank?

Hoffe, bin richtig.
Kennt jemand ein Skript, mit dem ich Datenbanken unter PHP bearbeiten kann?

So hab ich es bis jetzt gemacht:
SimpleXML und dann nach allen Änderungen gespeichert.

Das ganze geht auch gut, sofern nur einer (Person oder Bot) einen Schreibzugriff verursachen kann. Sobald aber eine Website interaktiv werden soll und somit ein User, der vieleicht nicht mal regristriert ist, Schreibzugriff hat (wenn auch beschränkt), und zwei mal die Datei mit Schreibrechten geöffnet wird, kommt es evtl. zum Chaos. Beispiel Counter:

  • Zwei User öffnen zufällig mit millisekunden Zeitunterschied eine Seite.
  • bei einem User ist die Vearbeitung fast abgeschlossen, während beim anderen gerade die XML geöffnet wird.
  • beim ersten User wurde gerade der Counterwert geschrieben, beim anderen ist die Verarbeitung fast fertig.
  • der Counterwert wird mit der SELBEN Zahl durch den zweiten User überschrieben, wodurch ein der erste User nicht gezählt wird.

(Es handelt sich hier nur um ein Beispiel, das ist nicht mein Projekt)

Der erste User wird also nicht gezählt. Um das zu vermeiden, müsste man nach jedem Schreibzugriff (in die Variable) die XML generieren und Speichern.
Das ist nicht sehr effizient. Muss also eine Datenbank her. Anbieten würde sich MySQL. Problem nur: nicht jeder hat es oder möchte es verwenden. Jetzt möchte ich eine PHP-und-Datei-basierte Lösung einbauen. Gibts da was fertiges?

Ob das per Passwort geschützt wird oder nicht, ist mir egal, sensible Daten verschlüssle ich immer auf Webseiten.

grtz
michi

SQLite ?
ist auch nicht ok?

Gruss
Joey

Ja weiß ich eben nicht wie da die Verfügbarkeit ist.
Manche Webseiten sprechen von SQLite ab PHP 5. Auf php.net steht

Die SQLite-Extension ist in PHP5 standardmäßig aktiviert.

Ist sie also ab PHP5 immer dabei (muss nicht aktiv sein, aber dabei)?
Sprich: kann ich einfach PHP5 vorraussetzen?
Bei MySQL muss ja ein eigenes Programm nebenbei mitlaufen, bei SQLite ja nicht. Weil ich kenne so ein paar Freehosts, bei denen ist MySQL deaktiviert. Deswegen frage ich ja.

Mit effizient meinte ich was den Quellcode angeht. Dann steht zig mal das selbe da und belegt ne Menge Speicherplatz.

SQLite haben noch zu wenige aktiviert
ICh hab grad auf zwei amerikanischen und drei deutschen Freehosts nachgesehen:
Zwei der drei Deutschen hatten es aktiviert. Die Amerikanischen überhaupt nicht. Da ist mir die Verbreitung doch zu gering.

Gibts noch was anderes?

Hi,
oder du nimmst Text-Dateien die du vor dem Schreib- Lesezugriff mit flock sperrst. Da musst du natürlich auch einen Mechanismus implementieren um Schreibkonflikte zu lösen.

Das haben aber schon Einige gemacht zb:
http://www.c-worker.ch/txtdbapi/

wenn du im Netz suchst, wirst du bestimmt noch einiges finden.

Gruss
joey

flock bringts nicht.
flcok bringt in dem fall nichts. das Problem besteht ja eigentlich beim einlesen der Datei. Hilft nichts, werde wohl was eigenes schreiben müssen.

Danke trotzdem.

flcok bringt in dem fall nichts. das Problem besteht ja
eigentlich beim einlesen der Datei. Hilft nichts, werde wohl
was eigenes schreiben müssen.

wozu wuerdest du sagen ist flock da?