fgetc
fgets
Funções para Sistema de arquivo
PHP Manual

# fgetcsv

(PHP 4, PHP 5)

fgetcsv — Lê uma linha do ponteiro de arquivos e a interpreta como campos CSV

### Descrição

array fgetcsv ( resource `$handle` [, int `$length` [, string `$delimiter` [, string `$enclosure` [, string `$escape` ]]]] )

Similar à função fgets(), exceto que a fgetcsv() interpreta a linha em busca de campos no formato CSV e retorna um array contendo os campos lidos.

### Parâmetros

`handle`

  Um ponteiro de arquivo válido para um arquivo aberto com sucesso por fopen(), popen() ou fsockopen().

`length`

  Deve ser maior do que a maior linha (em caracteres) a ser encontrada no arquivo CSV (permitindo caracteres de fim-de-linha). Se tornou opcional no PHP 5. Omitir este parâmetro (ou defini-lo como 0 no PHP 5.0.4 e posterior) o tamanho da linha não é limitado, o que é levemente mais lento.

`delimiter`

  Define o delimitador de campo (somente um caractere). O padrão é uma vírgula.

`enclosure`

  Define o caractere que cerca um campo (somente um caractere). O padrão é aspas duplas.

`escape`

  Define o caractere de escape (somente um caractere). O padrão é barra invertida (\)

### Valor Retornado

Retorna um array numérico contendo os campos lidos.

> Nota: Uma linha em branco em um arquivo CSV será retornada como um array contendo um único campo nulo ( null ), e não será tratada como um erro.

> Nota: Se PHP não está apropriadamente reconhecendo o final de linha quando lendo arquivos ou criando por um computador Macintosh, habilitando a opção auto_detect_line_endings em tempo de execução pode ajudar a resolver o problema.

fgetcsv() returna `FALSE` em caso de erro, inclusive no final do arquivo.

### Histórico

Versão | Descrição
--- | ---
5.3.0 | O parâmetro `escape` foi adicionado
4.3.5 | fgetcsv() passou a ser segura para binários
4.3.0 | O parâmetro `enclosure` foi adicionado

### Exemplos

Exemplo #1 Lê e imprime todo o conteúdo de um arquivo CSV

`<?php
$row = 1;
$handle = fopen ("teste.csv","r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count ($data);
echo "<p> $num campos na linha $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
echo $data[$c] . "<br />\n";
}
}
fclose ($handle);
?>`

### Notas

> Nota: A definição de localidade é levada em conta por esta função. Se LANG é por exemplo en_US.UTF-8, arquivos em codificação de um byte são lidos de maneira errada por esta função.

### Veja Também

- str_getcsv() - Analisa uma string CSV e retorna os dados em um array
- explode() - Divide uma string em strings
- file() - Lê todo o arquivo para um array
- pack() - Pack data into binary string
- fputcsv() - Formata a linha como CSV e a escreve em um ponteiro de arquivo

fgetc
fgets
Funções para Sistema de arquivo
PHP Manual