Stefan Bach: PHP, Daten speichern: Datenbank vs. Ascii-File

Beitrag lesen

Hallo,

Was mich noch interessieren würde, angenommen
mehrere Personen versuchen gleichzeitig über ein
Webinterface eine solche Datei zu bearbeiten,
würde das in einer Extremsituation zu einem Fehler führen,
oder wir bei PHP grundsätzlich einer nach dem anderen
'abgearbeitet'?

Das kommt ganz darauf an, wie du es programmiert hast. Nehmen wir einfach mal den einfachsten Fall der Dateibearbeitung: Die Datei wird ausgelsen, in einer textarea zur Verfügung gestellt, dort kann sie geändert werden, über ein Formular wird sie zurückgeschickt und wieder geschrieben.

Wenn jetzt Person A und Person B beide die Datei bearbeiten wollen, dann haben sie beide die aktuelle Version 1 vor sich. Nun ändern beide etwas, Person A schickt die Änderungen ab und nun ist die Version 2a gespeichert.
Danach schickt Person B seine geänderte Datei ab. Version 2a wird nun mit Version 2b überschrieben. Die von A gemachten Änderungen sind verloren.

Du müsstest also sicherstellen, dass keine Änderungen welche Version 1 als Ursprungsdatei hatten die Version 2 Datei überschreiben dürfen.
Dies könntest du z.B. durch einen Vergleich des letzten Schreibzugriffes o.ä. erreichen.

Besser wäre es aber wohl immer nur einen geleichzeitigen Benutzer auf des Webinterface draufzulassen. Dazu benötigst du allerdings ein Login-System.

Viele Grüße,

Stefan

--
Lass dir das Tanzen NICHT verbieten
http://tanzverbot.de