PHP 4.3

10.11 Auslesen von csv-Daten

Auch das Auslesen von csv-Daten ist recht einfach. Mit der PHP-Funktion fgetcsv() können wir ohne große Probleme eine csv-Datei auslesen und die von der Funktion zurückgelieferten Arrays in ein mehrdimensionales Array übertragen.

Auch bei diesem Skript ist es notwendig, möglicherweise in der Datei vorhandene Leerzeilen herauszufiltern. Wir prüfen dazu das von der Funktion fgetcsv() zurückgelieferte Array auf die Anzahl seiner Elemente. Ein regulärer Eintrag in der csv-Datei muss im Fall unserer Produktliste mindestens zwei Arrayelemente enthalten. Deshalb prüfen wir mit einer if-Anweisung und der Funktion count(), ob das Array $zeile mindestens zwei Elemente enthält.
Natürlich können Sie die Funktion flexibler gestalten, indem Sie im Funktionskopf einen weiteren Parameter definieren, dem Sie beim Funktionsaufruf die Mindestzahl der Elemente zuweisen.

csv-Daten auslesen
  function read_csv($fp) {
    while (!  feof($fp)) {
    $zeile = fgetcsv($fp, 4096);
     if (  count($zeile) >= 2) {
     $csv_array[]=$zeile;
      }
    }
   return $csv_array;
  }

Der Anweisungsblock der Funktion verwendet eine while-Schleife, wie Sie sie bereits von anderen Skriptbeispielen zum Auslesen von Dateien kennen. Hier allerdings geben wir den Wert der ausgelesenen Zeile nicht direkt auf dem Bildschirm aus, sondern verwenden ihn, um das mehrdimensionale Array $csv_array zu füllen. Die Funktion fgetcsv() liefert bereits ein Array zurück, sodass wir $csv_array[] nur den Wert von $zeile zuweisen müssen.

Kommentare (0)

Ihr Kommentar

Name