ReHi Ingo,
Das bringt doch auch nichts, weil file() mit dem voreingestellten Zeilenumbruch oder sogar mit autodetect_line_endings arbeitet. Das würde das Problem nur verlagern.
doch... in der Grundeinstellung findet file() alle möglichen Umbruchkodierungen, so dass schonmal ein Array mit den entsprechenden Zeilen vorliegt. So wie ich den Grund für das Problem anhand des zweiten Posts sehe, sollte das alleine schon ausreichen.
Es werden so aber aus einem Datensatz mehrere entstehen, und man kann nicht unbedingt erkennen, wieviele von den Datensätzen eigentlich noch zum letzten Feld des vorangegengenen DS gehören.
Ansonsten reicht eine simple Abfrage, ob ein Feld leer ist.
Leere felder sind in CSV-Dateien aber erlaubt. Da folgen dann einfach zwei Feldtrenner aufeinander. Oder wie meinst Du das jetzt?
Schwieriger wird es dann noch, wenn plötzlich auch noch Feldtrennzeichen als Datenwerte im Datenstrom der Felder auftauchen. dann ist das Chaos perfekt.
LG
Chris©