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
)