Função fgetcsv
A função fgetcsv lê uma linha de um arquivo e a analisa em campos no formato CSV. O primeiro parâmetro da função é um ponteiro para um arquivo aberto, o segundo - o comprimento máximo da linha, o terceiro - o separador de campos (por padrão vírgula), o quarto - o caractere delimitador (por padrão aspas duplas), o quinto - o caractere de escape.
Sintaxe
fgetcsv(
resource $handle,
int $length = 0,
string $separator = ",",
string $enclosure = "\"",
string $escape = "\"
);
Exemplo
Vamos ler um arquivo CSV linha por linha e exibir o conteúdo:
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file)) !== false) {
print_r($row);
}
fclose($file);
?>
Resultado da execução do código para um arquivo com conteúdo "a,b,c":
['a', 'b', 'c']
Exemplo
Leitura de CSV com especificação do comprimento máximo da linha e separador personalizado:
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file, 1000, ';')) !== false) {
print_r($row);
}
fclose($file);
?>
Resultado da execução do código para um arquivo com conteúdo "a;b;c":
['a', 'b', 'c']
Exemplo
Leitura de CSV com aspas e escape:
<?php
$file = fopen('data.csv', 'r');
while (($row = fgetcsv($file, 0, ',', '"', '\')) !== false) {
print_r($row);
}
fclose($file);
?>
Resultado da execução do código para um arquivo com conteúdo '"a,b",c,"d\"e"':
['a,b', 'c', 'd"e']