Função fputcsv

A função fputcsv formata o array passado em uma string no formato CSV e a escreve no arquivo especificado. O primeiro parâmetro da função é um ponteiro para o arquivo, o segundo - um array de dados para escrita. O terceiro parâmetro pode especificar o delimitador de campos (por padrão, vírgula), o quarto - o delimitador de strings (por padrão, aspas duplas).

Sintaxe

phpfputcsv(
  resource $handle,
  array $fields,
  string $delimiter = ",",
  string $enclosure = '"',
  string $escape_char = "\"
);

Exemplo

Vamos escrever um array em um arquivo CSV:

php<?php
  $file = fopen('data.csv', 'w');
  $data = ['a', 'b', 'c', 'd', 'e'];
  fputcsv($file, $data);
  fclose($file);
?>

Conteúdo do arquivo data.csv:

php"a","b","c","d","e"

Exemplo

Vamos escrever várias linhas em um arquivo CSV usando ponto e vírgula como delimitador:

php<?php
  $file = fopen('data.csv', 'w');
  $data1 = [1, 2, 3, 4, 5];
  $data2 = ['x', 'y', 'z'];
  fputcsv($file, $data1, ';');
  fputcsv($file, $data2, ';');
  fclose($file);
?>

Conteúdo do arquivo data.csv:

php"1";"2";"3";"4";"5"
"x";"y";"z"

Exemplo

Vamos escrever um array com dados contendo vírgulas:

php<?php
  $file = fopen('data.csv', 'w');
  $data = ['John, Doe', 'johndoe@example.com', 'New York'];
  fputcsv($file, $data);
  fclose($file);
?>

Conteúdo do arquivo data.csv:

php"John, Doe","johndoe@example.com","New York"

Veja também

  • a função fgetcsv,
    que lê dados de CSV
  • a função fwrite,
    que escreve em um arquivo
  • a função fopen,
    que abre um arquivo