fgetcsv

(PHP 4, PHP 5, PHP 7, PHP 8)

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

Beschreibung

fgetcsv(
    resource $stream,
    ?int $length = null,
    string $separator = ",",
    string $enclosure = "\"",
    string $escape = "\\"
): array|false

Die Funktion fgetcsv() ist ähnlich der Funktion fgets(), nur dass fgetcsv() die eingelesene Zeile auf Felder im CSV Format (kommaseparierte Felder) hin überprüft, und ein Array mit den gelesenen Feldern zurückgibt.

Hinweis:

Die Spracheinstellung (locale) wird von dieser Funktion beachtet. Wenn LC_CTYPE z.B. den Wert en_US.UTF-8 hat, können Dateien in Ein-byte-Kodierung von dieser Funktion falsch gelesen werden.

Parameter-Liste

stream

Ein gültiger Dateizeiger auf eine Datei, die zuvor mit fopen(), popen() oder fsockopen() geöffnet wurde.

length

Muss größer als die längste Zeile (in Zeichen), die in der CSV Datei vorhanden ist, sein (dies erlaubt die Erkennung abschließender Zeilenende Zeichen). Andernfalls wird die Zeile in Blöcke von length Zeichen aufgeteilt, es sei denn, die Aufteilung würde innerhalb einer Feldbegrenzung erfolgen.

Wird dieser Paramter ausgelassen (oder in PHP 8.0.0 oder später auf 0 oder null gesetzt), ist die maximale Zeilenlänge nicht begrenzt, was ein wenig langsamer ist.

separator

Der optionale Parameter separator setzt das Feld-Trennzeichen (nur ein Single-Byte-Zeichen).

enclosure

Der optionale Parameter enclosure setzt das Feld-Begrenzungs Zeichen (nur ein Single-Byte-Zeichen).

escape

Der optionale Parameter escape setzt das Maskierungs-Zeichen (höchstens ein Single-Byte-Zeichen). Eine leere Zeichenkette ("") deaktiviert den proprietären Maskierungsmechanismus.

Hinweis: Normalerweise wird ein enclosure Zeichen in einem Feld maskiert, indem es verdoppelt wird; allerdings kann das escape Zeichen alternativ dazu verwendet werden. So haben standardmäßig die Werte "" und \" die selbe Bedeutung. Außer der Möglichkeit, das enclosure Zeichen durch das escape Zeichen maskieren zu können, hat letzteres keine besondere Bedeutung; es ist nicht einmal dazu geeignet, sich selbst zu maskieren.

Rückgabewerte

Gibt bei Erfolg ein numerisch indexiertes Array zurück, das die gelesenen Felder enthält. Bei einem Fehler wird false zurückgegeben.

Hinweis:

Ein leere Zeile in einer CSV Datei wird als ein Array zurückgegeben, das ein einzelnes null Feld enthält und wird nicht als Fehler behandelt.

Hinweis: Wenn PHP Zeilenendezeichen nicht richtig erkennt, entweder beim Lesen von Dateien auf einem Macintosh oder bei Dateien, die auf einem Macintosh erstellt wurden, kann die Option auto_detect_line_endings aktiviert werden.

Changelog

Version Beschreibung
8.0.0 length ist jetzt nullbar.
7.4.0 Der escape Parameter akzeptiert nun auch eine leere Zeichenkette, um den proprietären Maskierungsmechanismus zu deaktivieren.

Beispiele

Beispiel #1 Lies und gib den gesamten Inhalt einer CSV Datei aus

<?php
$row 
1;
if ((
$handle fopen("test.csv""r")) !== FALSE) {
    while ((
$data fgetcsv($handle1000",")) !== FALSE) {
        
$num count($data);
        echo 
"<p> $num Felder in Zeile $row: <br /></p>\n";
        
$row++;
        for (
$c=0$c $num$c++) {
            echo 
$data[$c] . "<br />\n";
        }
    }
    
fclose($handle);
}
?>

Siehe auch

  • str_getcsv() - Parst einen CSV-String in ein Array
  • explode() - Teilt eine Zeichenkette anhand einer Zeichenkette
  • file() - Liest eine komplette Datei in ein Array
  • pack() - Packt Daten in eine binäre Zeichenkette
  • fputcsv() - Format line as CSV and write to file pointer

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe
Es sind noch keine Kommentare vorhanden.

Grundlagen von Views in MySQL

Views in einer MySQL-Datenbank bieten die Möglichkeit, eine virtuelle Tabelle basierend auf dem Ergebnis einer SQL-Abfrage zu erstellen. ...

admin

Autor : admin
Kategorie: mySQL-Tutorials

Definition von Stored Procedures - eine Einführung

Stored Procedures sind vordefinierte SQL-Codeblöcke, die in einer Datenbank gespeichert sind und bei Bedarf aufgerufen werden können. ...

Bernie

Autor : ebiz-consult GmbH & Co. KG
Kategorie: mySQL-Tutorials

Wie kann man komplexe Abfragen mit SQL-Querys In MySQLi effektiv durchführen?

In diesem MySQL-Tutorial wird erklärt, wie komplexe SQL-Abfragen in MySQLi effizient durchgeführt werden können. Wir werden uns mit verschiedenen Aspekten der Datenbankabfrage beschäftigen und spezifische Methoden kennenlernen. ...

TheMax

Autor : TheMax
Kategorie: mySQL-Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen

Professioneller Webentwickler & Webdesigner

Of course, here is the translation: Hello, Thank you for your interest in the long-term project. Your extensive skills and experience in web dev ...

Geschrieben von Athelstan am 15.04.2024 09:25:39
Forum: Jobgesuche
Wir stellen unsere SEO-Agentur vor

Hallo In der heutigen digitalen Welt war es für Unternehmen noch nie so einfach, ihre Reichweite weltweit zu vergrößern. Wenn Sie außerhalb I ...

Geschrieben von thomasmuller am 14.04.2024 07:18:33
Forum: User stellen sich vor
Spielplan für 4 Gruppen zu je 6 Teams auf 2 Feldern

Hallöchen zusammen, ich versuche derzeit unseren Excel-Spielplan in PHP zu überführen. Eigentlich bin ich auch shon fertig - wenn da nicht dies ...

Geschrieben von derH0st am 11.04.2024 15:58:37
Forum: PHP Developer Forum
PHP 8.3.3 - App kann auf dem PC nicht ausgeführt werden

Problem gelöst. Die php.exe hatte einen defekt. Neue heruntergeladen und fertig.

Geschrieben von Tetra1081 am 10.04.2024 16:49:14
Forum: PHP Developer Forum