Manual do PHP
Anterior |  | Próxima

# fgetcsv

(PHP 3 >= 3.0.8, PHP 4, PHP 5)

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

## Descrição

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

`handle`

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

`length` (Opcional)

  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 limite máximo de tamanho da linha não é limitado, o que é levemente mais lento.

`delimiter` (Opcional)

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

`enclosure` (Opcional)

  Define o caractere que contém um campo (somente um caractere). O padrão é aspas duplas. Adicionado no PHP 4.3.0.

Similar a fgets() exceto que fgetcsv() interpreta a linha que lê por campos no formato CSV (campos separados por vírgula) e retorna um array contendo os camos lidos.

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; $handle = fopen ("test.csv","r"); while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count ($data); echo "<p> $num fields in line $row: <br /></p>\n"; $row++; for ($c=0; $c < $num; $c++) { echo $data[$c] . "<br />\n"; } } fclose ($handle); ?>`

fgetcsv() é seguro para binários desde PHP 4.3.5

> Nota: A definição do local é levada em conta por esta função. Se `LANG` é e.g. `en_US.UTF-8`, arquivos em codificação de um byte(ex iso-8859-1) são lidos de maneira errada por esta função.

> Nota: Se você está tendo problemas com o PHP no reconhecimento do final de linha quando criando ou lendo arquivos num computador Macintosh, você pode habilitar a opção auto_detect_line_endings.

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

Anterior | Principal | Próxima
fgetc | Acima | fgets