Fonction fgetcsv
La fonction fgetcsv lit une ligne d'un fichier et l'analyse en champs au format CSV. Le premier paramètre de la fonction accepte un pointeur vers un fichier ouvert, le deuxième - la longueur maximale de la ligne, le troisième - le séparateur de champs (par défaut une virgule), le quatrième - le caractère délimiteur (par défaut des guillemets doubles), le cinquième - le caractère d'échappement.
Syntaxe
fgetcsv(
resource $handle,
int $length = 0,
string $separator = ",",
string $enclosure = "\"",
string $escape = "\"
);
Exemple
Lisons un fichier CSV ligne par ligne et affichons son contenu :
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file)) !== false) {
print_r($row);
}
fclose($file);
?>
Résultat de l'exécution du code pour un fichier avec le contenu "a,b,c" :
['a', 'b', 'c']
Exemple
Lecture d'un CSV avec indication de la longueur maximale de ligne et d'un séparateur personnalisé :
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file, 1000, ';')) !== false) {
print_r($row);
}
fclose($file);
?>
Résultat de l'exécution du code pour un fichier avec le contenu "a;b;c" :
['a', 'b', 'c']
Exemple
Lecture d'un CSV avec guillemets et échappement :
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file, 0, ',', '"', '\')) !== false) {
print_r($row);
}
fclose($file);
?>
Résultat de l'exécution du code pour un fichier avec le contenu '"a,b",c,"d\"e"' :
['a,b', 'c', 'd"e']