fgetcsv

(PHP 3>= 3.0.8, PHP 4 >= 4.0.0)

fgetcsv --  Liest eine Zeile von der Position des Dateizeigers und prüft diese auf Komma-Separierte-Werte (CSV)

Beschreibung

array fgetcsv (int fp, int length [, string Trennzeichen (Delimiter)])

Die Funktion fgetcsv() handelt ähnlich der Funktion fgets(), bis auf den Umstand, das fgetcsv() die eingelesene Zeile auf Kommaseparierte Felder hin überprüft. Das Ergebnis wird als Array zurückgegeben. Als Trennzeichen (Delimiter) wird - wenn kein anderes Trennzeichen im dritten optionalen Parameter angegeben wird - das Komma benutzt.

Der Dateizeiger fp muss gültig sein, d.h. die Datei, auf die gezeigt wird, muss zuvor mit fopen(), popen() oder fsockopen() geöffnet worden sein.

'length' muss größer sein als die längste in der CSV-Datei vorhandene Zeile (um das Erkennen von EndOfLine(Ende der Zeile) Zeichen zu ermöglichen).

fgetcsv() gibt FALSE am Dateiende und bei Lesefehlern zurück.

Eine leere Zeile der CSV-Datei wird als Array mit einem Feld das den Wert NULL hält zurückgegeben. Sie wird nicht als Fehler behandelt.

Beispiel 1. fgetcsv() Beispiel - Lesen und Ausgabe des Inhalts einer CSV-Datei


$row = 1;                                  // Anzahl der Arrays
$fp = fopen ("test.csv","r");              // Datei wird zum Lesen 
                                           // geöffnet
while ($data = fgetcsv ($fp, 1000, ",")) { // Daten werden aus der Datei
                                           // in einen Array $data gelesen
    $num = count ($data);                  // Felder im Array $data 
                                           // werden gezählt
    print "<p> $num fields in line $row: <br>"; 
    $row++;                                // Anzahl der Arrays wird 
                                           // inkrementiert
    for ($c=0; $c<$num; $c++) {         // FOR-Schleife, um Felder 
        print $data[$c] . "<br>";    // des Arrays auszugeben
    }
}
fclose ($fp);