PHP fgetcsv() functie
Definitie en gebruik
De functie fgetcsv() leest een regel in van de bestandspunt en analyseert de CSV-velden.
en fgets() Soortgelijk, maar fgetcsv() analyseert de gelezen regel en zoekt naar velden in CSV-formaat, en retourneert vervolgens een array met deze velden.
fgetcsv() retourneert FALSE bij fouten, inclusief wanneer het einde van het bestand wordt bereikt.
Opmerking:Vanaf PHP 4.3.5 is de functie fgetcsv() binair veilig.
Syntaxis
fgetcsv(file,length,separator,enclosure)
Parameter | Beschrijving |
---|---|
file | Verplicht. Stelt het te controleren bestand vast. |
length |
Optioneel. Stelt de maximale lengte van een regel vast. Moet groter zijn dan de langste regel in het CVS-bestand. In PHP 5 is dit parameter optioneel. In versies van PHP 5 of eerder is het vereist. Als het parameter wordt genegeerd ( ingesteld op 0 in versies van PHP 5.0.4 en later), is er geen limiet op de lengte, hoewel dit de uitvoerefficiëntie kan beïnvloeden. |
separator | Optioneel. Stel het karakter in voor het onderscheiden van velden (mag maar één karakter zijn), standaard is dit een komma. |
enclosure |
Optioneel. Stel het karakter voor het omwonden van velden in (mag maar één karakter zijn), standaard is dit een dubbele aanhalingsteken. Deze parameter is toegevoegd in PHP 4.3.0. |
Tips en opmerkingen
Opmerking:Lege regels in het CSV-bestand worden geretourneerd als een array met een enkele null-veld en worden niet als fout beschouwd.
Opmerking:Deze functie is gevoelig voor taalinstellingen. Bijvoorbeeld, als LANG is ingesteld op en_US.UTF-8, kunnen er leesfouten optreden met bestanden van enkelvoudige byte-codering.
Opmerking:Als PHP de lijnafsluitingscharacter van Macintosh-bestanden niet kan herkennen tijdens het lezen van een bestand, kunt u de runtime configuratieoptie auto_detect_line_endings activeren.
Voorbeeld
Voorbeeld 1
<?php $file = fopen("contacts.csv","r"); print_r(fgetcsv($file)); fclose($file); ?>
CSV-bestand:
George, John, Thomas, USA James, Adrew, Martin, USA
Uitvoer lijkt op:
Array ( [0] => George [1] => John [2] => Thomas [3] => USA )
Voorbeeld 2
<?php $file = fopen("contacts.csv","r"); while(! feof($file)) { print_r(fgetcsv($file)); } fclose($file); ?>
CSV-bestand:
George, John, Thomas, USA James, Adrew, Martin, USA
Uitvoer lijkt op:
Array ( [0] => George [1] => John [2] => Thomas [3] => USA Array ( [0] => James [1] => Adrew [2] => Martin [3] => USA )