Wie man eine CSV-Datei in PHP parst

Ralfh Bryan Perez 11 Juli 2021
Wie man eine CSV-Datei in PHP parst

Eine CSV ist ein Dateityp. Es bedeutet Comma Separated Values. Es wird häufig in unterschiedlicher Software wie Excel verwendet. Dies ermöglicht es, Daten in einem Tabellenformat und mit der Erweiterung .csv zu speichern.

Um eine CSV-Datei in PHP zu parsen, kann die Kombination der in PHP eingebauten Funktionen fopen(), fgetcsv() und fclose() verwendet werden.

Beispiel:

/*
//sampleFile.csv
dog, cat, rat, fish
horse, cow, carabao
bird, rabbit, chicken
*/
$ctr = 1;
if (($file = fopen("sampleFile.csv", "r")) !== FALSE) {
  while (($record = fgetcsv($handle, 1000, ",")) !== FALSE) {
    $total = count($record);
    echo "<p> $total fields in line $row: <br /></p>\n";
    $ctr++;
    for ($x = 0; $x < $ctr; $x++) {
        echo $record[$x] . "<br />\n";
    }
  }
  fclose($file);
}
//output:
/*
4 fields in line 1:

dog
cat
3 fields in line 2:

horse
cow
carabao
3 fields in line 3:

bird
rabbit
chicken
*/

Das obige Beispiel parst den Inhalt von sampleFile.csv unter Verwendung dieser Funktionen:

fopen(Filename, Mode, Include_path, context)

Diese Funktion akzeptiert einen URL oder eine Datei, bindet eine benannte Ressource, die durch den Dateinamen spezifiziert ist, an einen Stream.

Parameter:

  • Dateiname (erforderlich) - Dieser Parameter gibt die zu öffnende Datei oder URL an.
  • Modus (erforderlich) - Dies stellt die Art des Zugriffs auf die Datei dar, die Sie benötigen.
  • Include_path (optional) - Wenn Sie diesen Parameter auf 1 setzen, wird die Datei im include_path gesucht.
  • Kontext (optional) - Dies gibt den Inhalt des Datei-Handles an. Es ist ein Satz von Optionen, die über das Verhalten des Streams aktualisiert werden können.

fgetcsv()

Diese Funktion ist für das Parsen einer Zeile aus einer geöffneten CSV-Datei verantwortlich.

Parameter:

  • Datei (erforderlich) - Dieser Parameter gibt die geöffnete Datei an, aus der eine Zeile zurückgegeben und geparst werden soll.
  • length (optional in PHP 5 und darunter, aber erforderlich in PHP 5.1 und darüber) - Dieser Parameter ist die maximale Länge der Zeile. Diese muss größer als die längste Zeile in der Datei sein. Wenn dieser Parameter nicht vorhanden ist, dann ist die Länge nicht begrenzt, was das Parsen verlangsamt.
  • separator (optional) - Dieser Parameter ist das Feldtrennzeichen, und der Standardwert ist ein Komma - ,.
  • Enclosure (optional) - Dieser Parameter ist das Feld enclosure, und der Vorgabewert ist ".
  • Escape (optional) - Dieser Parameter ist das Escape-Zeichen, und der Vorgabewert ist ,.

fclose()

Diese Funktion schließt einen geöffneten Dateizeiger.

Parameter:

  • Datei (erforderlich) - Dies gibt an, welche Datei geschlossen werden soll.

Hinweis: Der Dateizeiger muss gültig sein und auf eine Datei zeigen, die erfolgreich mit fopen() geöffnet wurde.

Verwandter Artikel - PHP CSV