Schreiben mit fwrite - oben anhängen?

Nö ist nicht - $db ist nur die Variable bzw. der Name - könnte auch sonst etwas sein.

Es ist meine eigene DB - Klasse wie ich sie in meiner CMS verwende - die sehr gut im Einsatz ist.

[quote]Von einem Array ins andere zu packen, ist nicht gerade sind der sache.
Sinnvoll ist es so schon mal gar nicht[/quote]

Eine Mysql - Abfrage ergibt bei einem Treffer ein Objekt vom Type resultset zurück, das ist kein direkt verwertbares Array, also muss man umschaufeln.

Das Problem ist das eine solche Methode praktisch nicht netzwerkfähig ist.

Bei einem Gästebuch kann man damit rechnen das “pausenlos” irgend jemand etwas schreibt.

Das Anhängen funzt immer, bei der Methode alt einlesen und erst neu dann alt zu schreiben hätte ich schon meine Zweifel - deine vorgeschlagene Methode ist ebenfalls ein Problemfall.

Am einfachsten sind solche Dinge tatsächlich mit einer DB machbar und aus meiner Erfahrung würde ich das mit Sqlite machen um eine Hauptdb nicht zu belasten (da ist Sqlite sogar noch erheblich schneller als Mysql).

[quote]Nö ist nicht - $db ist nur die Variable bzw. der Name - könnte auch sonst etwas sein.
Es ist meine eigene DB - Klasse wie ich sie in meiner CMS verwende - die sehr gut im Einsatz ist.[/quote]es gibt sehr viele DB-Klassen, aber ich bin einfach von PEAR ausgegangen…(die hat nämlich eine ähnliche Funktion)

müsste man tatsächlich nicht. man könnte ein Zeigerarray verwenden, was aber in dem Fall nicht sinnvoll ist, weil die $row-Variable immer überschieben wird.
Tatsächlich ginge auch diese Variante:while($array[]=mysql_fetch_assoc($sql));allerdings entsteht dann noch ein Eintrag mit bool(false) ab Schluss :wink:

[quote]Bei einem Gästebuch kann man damit rechnen das “pausenlos” irgend jemand etwas schreibt.[/quote][quote=“hoffmann”]- Zugriff (ent)sperren: flock[/quote]ich bin trotzdem für eine DB-Variante…

Meine Klasse ist inzwischen nicht nur bei mir sondern in zahlreichen insbesondere gewerblichen Projekten im Einsatz und verfügt über Funktionen die ziemlich unüblich bei einfachen sind wie z.B. backup und restore, oder debug - Dinge.

Dazu aus dem PHP Handbuch:

[quote]Warnung
flock() funktioniert nicht auf NFS und verschiedenen anderen vernetzten Dateisystemen. Für weitere Detail konsultieren Sie bitte Ihre Betriebssystemdokumentation.

Bei einigen Betriebssystemen ist flock() auf dem Prozesslevel implementiert. Wenn Sie ein multithreaded Server API wie ISAPI benutzen können Sie sich nicht auf flock() verlassen, um Dateien vor anderen PHP-Skripten zu schützen, welche in parallelen Threads der gleichen Server-Instanz laufen!

flock() wird antiquierten Dateisystemen wie FAT und dessen Derivate nicht unterstützt, und gibt deshalb in solchen Umgebungen immer FALSE zurück (Dies ist speziell bei Windows 98 Benutzern der Fall).

[/quote]

Wer portable Scripte schreiben will, der sollte darauf lieber verzichten.

wer portable Scripte schreiben will, verwendet sicher keine Gästebuch, das in Dateien abspeichert :wink:

Wieso nicht ?
Msyql-Daten sind auch nichts weiter als Dateien.
Und man kann problemlos Gästebücher, ja sogar ganze Foren oder komplexe Wikis in Textdateien halten, nur dann darf man nicht eine ganz simple Systematik verwenden.

Es gibt auch gut funktionierende fertige Klassen für solche Zwecke, die sogar mit einfacher SQL zu bedienen sind.

Dennoch - wer Mysql oder Sqlite hat sollte sie auch verwenden, es gibt da mehr Leute die etwas davon verstehen und helfen könnten.

außerdem ist das viel schneller (weil Server-Daemon)
Die Backup-Möglichkeit mag vielleicht bei Textdateien einfacher erscheinen, aber wenn man was zusammenfügen muss, geht das mit SQL auch besser. Außerdem kann man mit DB-Systemen viel aufwändigere Sachen machen, die eine Textklasse wohl kaum in 8 Sekunden schaffen wird :wink:

Das Problem ist das eine solche Methode praktisch nicht netzwerkfähig ist.[/quote]
seufz
Lies doch mal, was ich geschrieben habe:

Dass das Probleme machen kann ist natürlich klar.