Blutgerinsel hat geschrieben:
Theoretisch sollten Fehlermeldungen kommen da ich nicht auf ein und die selbe Ressource mehrmals zugreifen kann....
Nein, auch nicht theoretisch. Die resouce ist dein Filehandle, wenn du eine Datei aber 2 mal open() machst hast du 2 filehandle auf die du beide zur selben Zeit schreiben kannst.
MrMind hat geschrieben:
Praktisch aber nein, weil es sehr unwahrscheinlich ist, das diese Datei innerhalb einer Sekunde 2mal beschrieben wird. Sprich, das Absenden oder ähnliches von zwei User (oder dergleichen) ist eher unwahrscheinlich das es gleichzeitig erfolgt (sprich auf die Sekunde genau).
Unwahrscheinlich ist schonmal scheiße. Das klappt grundätzlich nie. Davon auszugehen ist schlamperei.
MrMind hat geschrieben:
Wenn es trotzdem mal Fehlermeldungen kommen, würde ich das schreiben über eine weitere Datei oder eine DB steuern, das, wenn eine Datei (oder genau nur diese Datei) geöffnet wird (oder beschrieben werden soll) der Timestap gespeichert wird, und bei einer erneuten absendung wird überprüft ob diese Datei gerade bearbeitet/beschrieben wird, wenn ja, dann eine eigene Fehlermeldung ausgeben und das Script enden lassen.
Wurde die Datei beschrieben und geschlossen, wird die Zeile aus der Datei oder DB die die Daten speichert, gelöscht und steht somit wieder frei
Viel zu komplex und bei anderweitigen scriptabbrüchen ist die Datei bin in alle ewigkeit gelocked, auch mist.
Üblicherweiser nutzt man hierzu eine temporäre Datei die man anschliessend umbenent. Der rename erfolgt atomisch, weshalb man dazu auch keine locks benötigt, die bei PHP sowieso nicht funktionieren.