fputcsv

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

fputcsvFormata a linha como CSV e a escreve em um ponteiro de arquivo

Descrição

fputcsv(
    resource$stream,
    array$fields,
    string$separator = ",",
    string$enclosure = "\"",
    string$escape = "\\",
    string$eol = "\n"
): int|false

fputcsv() formata uma linha (passada como um array de campos fields) como CSV e a escreve (terminando com uma nova linha) no fluxo de arquivo especificado por stream.

Parâmetros

stream

O ponteiro de arquivo deve ser válido e deve apontar para um arquivo aberto com sucesso por fopen() ou fsockopen() (e ainda não fechado por fclose()).

fields

Um array de strings.

separator

O parâmetro opcional separator configura o caractere delimitador (apenas um caractere de um byte).

enclosure

O parâmetro opcional enclosure configura o caractere que envolve os dados (apenas um caractere de um byte).

escape

O parâmetro opcional escape configura o caractere de escape (no máximo um caractere de um byte). Uma string vazia ("") desabilita o mecanismo de escape proprietário.

eol

O parâmetro opcional eol define uma sequencia customizada de Fim de Linha.

Nota:

Se um caractere enclosure estiver contido em um campo, ele sofrerá escape por duplicação, a menos que seja imadiatamente precedido por um escape.

Valor Retornado

Retorna o comprimento da string escrita ou false em caso de falha.

Registro de Alterações

VersãoDescrição
8.1.0 O parâmetro opcional eol foi adicionado.
7.4.0 O parâmetro escape agora aceita uma string vazia para desabilitar o mecanismo de escape proprietário.

Exemplos

Exemplo #1 Exemplo da fputcsv()

<?php

$lista
= array (
array(
'aaa', 'bbb', 'ccc', 'dddd'),
array(
'123', '456', '789'),
array(
'"aaa"', '"bbb"')
);

$fp = fopen('file.csv', 'w');

foreach (
$lista as $linha) {
fputcsv($fp, $linha);
}

fclose($fp);
?>

O exemplo acima irá escrever o seguinte no arquivo file.csv:

aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""

Notas

Nota: Se o PHP não estiver reconhecendo corretamente os finais de linha ao ler arquivos em um computador Macintosh ou que foram criados em um, habilitar a opção de configuração em tempo de execução auto_detect_line_endings pode ajudar a resolver o problema.

Veja Também

  • fgetcsv() - Lê uma linha do ponteiro de arquivos e a interpreta como campos CSV
To Top