(PHP 5 >= 5.1.0, PHP 7)
fputcsv — Dar formato CSV a una línea y escribirla en un puntero a un fichero
$handle
   , array $fields
   [, string $delimiter = ","
   [, string $enclosure = '"'
   [, string $escape_char = "\"
  ]]] ) : int
   fputcsv() da formato CSV a una línea (pasada como el
   array fields) y la escribe (terminada con una nueva línea)
   en el manejador dado por handle del fichero especificado. 
  
handleEl fichero al que se apunta debe ser válido, y debe apuntar a un fichero abierto por fopen() o fsockopen() (y que todavía no esté cerrado por fclose()).
fieldsUn array de valores.
delimiter
       El parámetro opcional delimiter establece el delimitador
       de campos (un carácter sólamente).
      
enclosure
       El parámetro opcional enclosure establece el carácter
       circundante de cada campo (un carácter sólmente).
      
escape_char
       El parámetro opcional escape_char establece el
       carácter de escape (un carácter solamente).
      
   Devuelve la longitud del string escrito  o FALSE en caso de error.
  
| Versión | Descripción | 
|---|---|
| 5.5.4 | Se añadió el parámetro escape_char | 
Ejemplo #1 Ejemplo de fputcsv()
<?php
$lista = array (
    array('aaa', 'bbb', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);
$fp = fopen('fichero.csv', 'w');
foreach ($lista as $campos) {
    fputcsv($fp, $campos);
}
fclose($fp);
?>
El ejemplo de arriba escribirá lo siguiente en fichero.csv:
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""
Nota: Si sufre problemas con PHP no reconociendo los finales de línea cuando lee o crea ficheros en Macintosh, puede probar de activar la opción de configuración en tiempo de ejecución auto_detect_line_endings para intentar resolver el problema.