Funzione fputcsv

La funzione fputcsv formatta l'array passato in una stringa in formato CSV e la scrive nel file specificato. Il primo parametro della funzione è un puntatore al file, il secondo è l'array di dati da scrivere. Il terzo parametro permette di specificare il delimitatore di campo (per default la virgola), il quarto - il delimitatore di stringa (per default le virgolette doppie).

Sintassi

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

Esempio

Scriviamo un array in un file CSV:

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

Contenuto del file data.csv:

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

Esempio

Scriviamo diverse righe in un file CSV utilizzando il punto e virgola come delimitatore:

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);
?>

Contenuto del file data.csv:

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

Esempio

Scriviamo un array con dati che contengono virgole:

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

Contenuto del file data.csv:

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

Vedi anche

  • la funzione fgetcsv,
    che legge i dati da CSV
  • la funzione fwrite,
    che scrive in un file
  • la funzione fopen,
    che apre un file