Der Martin: eine bestimmte Zeile aus csv mit php auslesen

Beitrag lesen

Hi,

ich möchte eine bestimmte einzelne Zeile aus einer csv Datei auslesen.

schön. Da CSV-Dateien rein textbasiert sind und im Normalfall keine feste Satzlänge haben, kannst du die gesuchte Zeile nicht direkt anspringen. Du musst also vom Dateianfang aus die ersten n-1 Zeilen lesen und ignorieren.

Im Moment zeigt er mir die ersten beiden Zeilen.

Wer ist "er"?

Wie kann ich zum Bsp. nur die Zeile 5 anspringen?

Indem du viermal fgetcsv() aufrufst und die Ergebnisse jeweils wegwirfst, um dann die Ergebnisse des fünften Aufrufs zu verwenden.

Bei sehr kleinen Dateien könnte man noch mit file() den gesamten Dateiinhalt lesen. Mit file() erhält man ein Array, jedes Element entspricht dann einer Zeile der Datei. So kann man auch auf die gesuchte Zeile direkt zugreifen. Anstatt fgetcsv() würde man dann den einzelnen String mit str_getcsv() behandeln, wenn man PHP 5.3 hat; ansonsten müsste man das behelfsmäßig nachbilden, indem man den String an den Kommas explodiert.

So long,
 Martin

--
Die junge Ehefrau weint sichbei ihrer Mutter aus:
Er hat gesagt, ich soll mich zum Teufel scheren! - Und da kommst du ausgerechnet zu mir?!