fgetcsv

(PHP 3>= 3.0.8, PHP 4 )

fgetcsv -- Le uma linha do ponteiro de arquivos e a interpreta por campos CSV

Descrição

array fgetcsv ( int fp, 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. A opção enclosure não pode ser null, e está limitada a um caracter. Se enclosure tiver mais que um carcater, somente o primeiro será utilizado.

Nota: O parâmetro enclosure foi acrescentado no PHP 4.3.0.

O parâmetro fp 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 1. Lê e imprime todo o conteúdo de um arquivo CSV

<?php
$row = 1;
$fp = fopen ("test.csv","r");
while ($data = fgetcsv ($fp, 1000, ",")) {
    $num = count ($data);
    print "<p> $num campos na linha $row: <br>";
    $row++;
    for ($c=0; $c < $num; $c++) {
        print $data[$c] . "<br>";
    }
}
fclose ($fp);
?>

Veja também explode(), file() e pack()