Tom: Textlänge in CSV-Datei begrenzt?

Beitrag lesen

Hello,

OK, vergesst es direkt wieder!

Im Text kam ein Semikolon vor...

Gerade deshalb werde wir es nicht vergessen ;-))

Das CSV-Format ist mWn nirgends wirklich festgelegt. Eine Variante hat sich aber durchgesetzt:

"feld 1";"feld 2; Erklärung";"feld 3 enthält ein "" und ist der dritte Sonderfall"CRLF

Zur Erklärung:
Felder in Begrenzungszeichen verpacken. Standard sind die Doppelhäkchen
Wenn Dopplehäkchen (die Begrenzer) im Text vorkommen, müssen sie durch DOPPELUNG, und nicht durch besonderes Escape-Zeichen maskiert werden.
Die Feldtrenner (meist Semikolon) dürfen dann auch im Text vorkommen.
CRLF-Zeichen dürfen nun ebenfalls IM TEXT vorkommen.
Leere Spalten müssen entsprechend mit   "";   eingefügt werden
  (letzte Spalte möglichst ohne Semikolon)

Das führt dazu, dass man diese Datei nicht mehr mit FILE() einlesen kann (zumindest nicht sinnvoll), sondern nur noch zeilenweise mit FGETCSV().

Wer diese regeln beachtet, hat für kleine Dateien (bis ca. 500 Zeilen) bei PHP eine sehr schöne Möglichkeit, sofort auf jeden Feldwert zugreiden zu können. Denn FGETCSV() liefert das Array der in der Zeile enthaltenen Spalten.

Harzliche Grüße vom Berg
esst mehr http://www.harte-harzer.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau