Tach!
Vielleicht ist ja grundsätzlich einfach nur das Format für die instantane Speicherung der Tracks kaputt?
Wird jeder einzelne Punkt einzeln, beispielsweise als CSV-Zeile gespeichert, geht beim unintendierten ausschalten des Geräts genau eine Zeile kaputt.
$text = file_get_contents("track.csv");
$text .= array_to_csv($data);
file_put_contents("track.csv", $text);
// Hardwareausfall beim Schreiben
Ich würde nicht das Format als (un)passend bezeichnen. Man kann auch mit XML eine einigermaßen sichere Verarbeitung erreichen. Es kommt darauf an, wie man es umsetzt. Zum Beispiel indem man in eine andere Datei schreibt und erst nach Abschluss dieses Vorgangs die alte ersetzt, in der Hoffnung, dass das Umbenenen schneller geht als die Hardware zuschlägt.
dedlfix.