Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

fgetcsv

Dateisystem-Funktionen

    Befehl:
array fgetcsv ( resource $handle [, int $length = 0 [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]]] )


    Parameter-Liste:
NameBeschreibung
handleEin gültiger Dateizeiger auf eine Datei, die zuvor mit fopen(), popen() oder fsockopen() geöffnet wurde.
lengthMuss grösser als die längste Zeile (in Zeichen), die in der CSV Datei vorhanden ist, sein (dies erlaubt die Erkennung abschliessender Zeilenende Zeichen). Sie wurde in PHP 5.0 optional. Wird dieser Paramter ausgelassen (oder in auf 0 setzen in PHP 5.0.4 und später), ist die maximale Zeilenlänge nicht begrenz, was ein wenig langsamer ist.
delimiterSetze das Feld-Trennzeichen (nur ein Zeichen).
enclosureSetze das Feld-Begrenzungs Zeichen (nur ein Zeichen).
escape Setze das Maskierungs-Zeichen (nur ein Zeichen). Standard ist der umgekehrte Schrägstrich (backslash).

    Rückgabewerte:
Gibt ein numerisch indexiertes Array zurück, das die gelesenen Felder enthält.
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 Sie Probleme damit haben, dass PHP Zeilenendezeichen nicht erkennt, entweder beim Lesen von Dateien auf einem Macintosh oder bei Dateien, die auf einem Macintosh erstellt wurden, können Sie die Option auto_detect_line_endings aktivieren.


fgetcsv() gibt NULL zurück, wenn ein ungültiger handle übergeben wurde oder FALSE bei anderen fehler einschliesslich Dateiende.

    Beschreibung:
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.


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

• length Muss grösser als die längste Zeile (in Zeichen), die in der CSV Datei vorhanden ist, sein (dies erlaubt die Erkennung abschliessender Zeilenende Zeichen). Sie wurde in PHP 5.0 optional. Wird dieser Paramter ausgelassen (oder in auf 0 setzen in PHP 5.0.4 und später), ist die maximale Zeilenlänge nicht begrenz, was ein wenig langsamer ist.

• delimiter Setze das Feld-Trennzeichen (nur ein Zeichen).

• enclosureSetze das Feld-Begrenzungs Zeichen (nur ein Zeichen).

• escape Setze das Maskierungs-Zeichen (nur ein Zeichen). Standard ist der umgekehrte Schrägstrich (backslash).


    Aktiv in Version:
(PHP 4, PHP 5, PHP 7)

    Hinweis:
Hinweis:

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


    Siehe auch:
Parst einen CSV-String in ein Array
 
Teilt einen String anhand einer Zeichenkette
 
•  file()
Liest eine komplette Datei in ein Array
 
•  pack()
Packt Daten in eine Binär-Zeichenkette
 
Format Linie als CSV-und Schreibzugriff auf Zeiger-Datei
 

fgetcsv() - Beispiel 1: Lies und gib den gesamten Inhalt einer CSV Datei aus


Eingabe:
<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== 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);
}
?>


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

Beschreibung:
Version Beschreibung
5.3.0 Der escape Parameter wurde ergänzt
4.3.5 fgetcsv() ist nun "binary safe"
4.3.0 Der enclosure Parameter wurde ergänzt
Dateisystem-Funktionen