Hello,
Schau ins Handbuch fwrite();
Warum so viel Mühe mit fwrite() und noch ein paar mehr Funktionen, wenn es mit file_put_contents() in einem Aufwasch geht?
Das sehe ich noch nicht. Wie detektierst Du, dass es die Datei nicht schon gab unter dem Namen?Na gut, das w+ im fopen() stellt ja schonmal sicher, dass ein Überschreiben existierender Datenen nicht möglich ist.
Verwechselst Du das nicht mit "x+"?
"w+" bedeutet, dass die Datei angelegt, beschrieben und auch wieder gelesen werden darf.
Außedem würde ich immer noch das "b" einfügen, damit die Appklikationen auch auf Windows-Hosts neutral bleiben bezüglich Zeilenumbrüchen.
Braucht es dann überhaupt noch ein Locking? Es kann doch eigentlich sowieso keine zweite Script-Instanz in die selbe Datei schreiben, weil das ja durch das w+ schon das Öffnen abgelehnt wird.
Wie kommst Du darauf?
Es kann jede andere Prozess in eine gerade neu eröffnete Datei hineinschreiben, so zumindest bei den gängigen Filesystemen für DOS-Systeme, um die es hier ja wohl geht. Bei OS400 isht das anders aus.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg