Funções PHP |
. Glossários Funções PHP - fgetcsv ( ) |
(PHP 3>= 3.0.8, PHP 4 , PHP 5)
fgetcsv -- Le uma linha do ponteiro
de arquivos e a interpreta por campos CSV
array fgetcsv ( resource handle, int length [,
string delimiter [, string enclosure]])
Similar à fgets() exceto que fgetcsv() interpreta a linha que lê por campos no formato CSV e retorna um vetor (array) contendo os campos lidos. O terceiro parâmetro delimiter (opcional) tem como padrão a vígula, e o também opcional enclosure tem como padrão aspas. Tanto delimiter como enclosure só podem ter um caracter. Se qualquer um deles tiver mais que um caracter, somente o primeiro deles serão utilizados.
Nota: O parâmetro enclosure foi acrescentado no PHP 4.3.0.
O parâmetro handle tem que ser um ponteiro de arquivo válido para um arquivo aberto com sucesso por fopen(), popen() ou fsockopen().length tem que ser maior do que a maior linha a ser encontrada no arquivo CSV (incluindo caracteres de terminação de linha).
fgetcsv() retorna FALSE ao encontrar um erro, incluindo fim de arquivo (eof).
Nota: Uma linha em branco em um arquivo CSV será retornada como um array contendo um único campo nulo (null), e não será tratado como um erro.
Exemplo:
Exemplo 1. Lê e imprime todo o conteúdo de um arquivo CSV
<?php
$row = 1;
$handle = fopen ("test.csv","r");
while ($data = fgetcsv ($handle, 1000, ",")) {
$num = count ($data);
print "<p> $num campos na linha $row: <br>";
$row++;
for ($c=0; $c < $num; $c++) {
print $data[$c] . "<br>";
}
}
fclose ($handle);
?>
Veja também explode(), file() e pack()