Moin!
»» »» Na wenn dann unserialize(file_get_contents("bla.blub")),
»»
»» Locking, anyone?Wenn nur einer schreibt und der Rest nur liest?
Ich wollt's nur mal erwähnt haben. SQLite macht das von alleine, und sobald es um größere Datenmengen geht, wird's ja beim Neuschreiben auch interessant, ob während des Schreibvorgangs Lesen auf halbfertige Daten möglich sind - und was das für Folgen hat.
»» »» naja, oder fgetcsv() in Kombination mit fopen();
»»
»» CSV ist kein Dateiformat, es ist eine Krankheit! Also: Meiden!Es ist gut geeignet für Contentpflege bei sich schnell änderenden Daten (Veranstaltungsdaten) die vom Halbkundigen Kunden gepflegt werden wollen.
Der macht das sowieso in Excel, das kann er. Dan nimmt man OpenOffice um eine "echtes" CSV draus zu machen und lädt das Teil hoch, fertig. Macht der Kunde komplett selbst.
Excel, OpenOffice, Upload - und wenn dabei irgendwo etwas schief geht, dann ist die K... am d...
Ok, vielleicht rettet dir OpenOffice ein wenig den Arsch, wenn es "vernünftiges", d.h. erwartungskonform einheitliches CSV ausspuckt - aber wenn es darum geht, einen allgemeinen CSV-Import herzustellen, dann zerhaut es dich regelmäßig wegen der diversen als CSV bezeichneten Formate. Excel ist da ganz besonders schlimm, nach meiner Erinnerung, weil die Hirnis auch den CSV-Export lokalisiert haben.
Fragen wie "Welches Encoding wurde benutzt, und wie kriege ich das raus?" stellen sich natürlich irgendwann auch.
Und das Format ist, wenn stringent umgesetzt http://tools.ietf.org/html/rfc4180 doch wirklich prima. Und schlank.
Die Spec lässt eindeutig zu viel Raum für Optionales:
- Die letzte Zeile kann CRLF am Ende haben, oder nicht.
- Die erste Zeile kann eine Header-Zeile sein, oder direkt Daten enthalten.
- Felder können in Anführungszeichen stehen, müssen aber nicht.
Darüber hinaus trifft man in freier Wildbahn viele eklige Varianten an:
- Das Trennzeichen ist kein Komma, sondern was anderes
- Felder sind nicht in doppelte Anführungszeichen gehüllt, sondern was anderes
- Das Escaping von in Feldern enthaltenen Sonderzeichen ist auch eher "abstrus".
Wenn du exakt EINE definierte Applikation hast, die dir dein persönliches CSV-Format auswirft, kannst du den Import auf diese Daten exakt abstimmen. Aber wehe, das Format ändert sich aus irgendeinem Grund...
- Sven Rautenberg