phpbar.de logo

Mailinglisten-Archive

[php] Transaktionssichere Dateioperationen

[php] Transaktionssichere Dateioperationen

Andreas Ahlenstorf lists at ahlenstorf.ch
Fre Jun 10 21:06:18 CEST 2005


Hallo,

Ich habe ein Applikation vor mir, die ~95 Prozent der Operationen in  
der Datenbank macht, alles mit Transaktionen gesichert. Ist von der  
Datenbank her wunderbar, da sie selbst bei gröberen Fehlern in einem  
konsistenten Zustand ist. Ein Problem stellen die restlichen 5 der  
Operationen dar, da handelt es sich um Uploads und andere  
Dateioperationen. Die sind natürlich nicht transaktionssicher und so  
passiert es ab und zu, dass in der Datenbank z.B. nach einem Rollback  
noch die alten Dateinamen stehen während die Dateien schon gelöscht  
sind oder inzwischen anders heissen. Nun denke ich darüber nach, wie  
ich das Problem lösen könnte:

- Dateien in die Datenbank packen. Problem mit den Dateioperationen  
gelöst. Schlägt das Einlesen in die Datenbank fehl, ist's egal, weil  
der Datensatz sowieso nicht da ist. Andererseits bin ich der Meinung,  
dass Bilder etc. direkt auf die Festplatte gehören und keinen PHP- 
Prozess brauchen, um an den Anwender ausgeliefert zu werden.
- Dateioperationen in selbst gebaute Funktionen einwickeln, welche  
die gröbsten Probleme eliminieren, indem z.B. Dateien vorerst nur zum  
Löschen markiert und nach Vollendung der Aktion endgültig von der  
Platte geputzt werden. Nachteil: Sehr aufwendig.

Bevor ich auswürfle, was ich mache, würde ich gerne wissen, wie ihr  
das Problem lösen würdet... vielleicht habe ich ja eine ganz nahe  
liegende Lösung übersehen.

Gruss,
Andreas

php::bar PHP Wiki   -   Listenarchive