Funktionen fgetcsv
Funktionen fgetcsv læser en linje fra en fil og opdeler den i felter i CSV-format. Som første parameter tager funktionen en peger på en åben fil, som andet - den maksimale linjelængde, som tredje - feltseparatoren (standard er komma), som fjerde - indkapslingstegnet (standard er dobbelt anførselstegn), som femte - escape-tegnet.
Syntaks
fgetcsv(
resource $handle,
int $length = 0,
string $separator = ",",
string $enclosure = "\"",
string $escape = "\"
);
Eksempel
Lad os læse en CSV-fil linje for linje og udskrive indholdet:
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file)) !== false) {
print_r($row);
}
fclose($file);
?>
Resultatet af udførelsen af koden for en fil med indholdet "a,b,c":
['a', 'b', 'c']
Eksempel
Læsning af CSV med angivelse af maksimal linjelængde og brugerdefineret separator:
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file, 1000, ';')) !== false) {
print_r($row);
}
fclose($file);
?>
Resultatet af udførelsen af koden for en fil med indholdet "a;b;c":
['a', 'b', 'c']
Eksempel
Læsning af CSV med anførselstegn og escaping:
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file, 0, ',', '"', '\')) !== false) {
print_r($row);
}
fclose($file);
?>
Resultatet af udførelsen af koden for en fil med indholdet '"a,b",c,"d\"e"':
['a,b', 'c', 'd"e']