(PHP 5 >= 5.1.0, PHP 7, PHP 8)
fputcsv — Formate une ligne en CSV et l'écrit dans un fichier
$stream,$fields,$separator = ",",$enclosure = "\"",$escape = "\\",$eol = "\n"
   fputcsv() formate la ligne passée sous forme de
   tableau fields, puis écrit le résultat dans le
   fichier stream.
  
streamLe pointeur de fichier doit être valide et pointer sur un fichier ouvert avec succès par fopen() ou fsockopen() (et pas encore fermé par fclose()).
fieldsUn tableau de chaînes de caractères string.
separator
       Le paramètre optionnel separator spécifie le
       délimiteur (un caractère d'un seul octet).
      
enclosure
       Le paramètre enclosure spécifie le caractère
       d'encadrement (un caractère d'un seul octet).
      
escape
       Le paramètre optionnel escape définit le
       caractère d'échappement (au plus un caractère d'un seul octet).
       Une chaîne de caractères vide ("") désactive le mécanisme d'échappement propriétaire.
      
eol
       Le paramètre optionnel eol définit une séquence
       de fin de ligne (End of Line) personnalisé.
      
Note:
Si un caractère
enclosureest contenu dans un champ, il sera échappé en le doublant, à moins qu'il ne soit immédiatement précédé d'unescape.
   Retourne la taille de la chaîne écrite  ou false si une erreur survient.
  
| Version | Description | 
|---|---|
| 8.1.0 | 
        Le paramètre optionnel eol a été ajouté.
        | 
      
| 7.4.0 | 
        Le paramètre escape accepte désormais une chaîne de
        caractères vide afin de désactiver le mécanisme d'échapement propriétaire.
        | 
      
Exemple #1 Exemple avec fputcsv()
<?php
$list = array (
   array('aaa', 'bbb', 'ccc', 'dddd'),
   array('123', '456', '789'),
   array('"aaa"', '"bbb"')
);
$fp = fopen('file.csv', 'w');
foreach ($list as $fields) {
    fputcsv($fp, $fields);
}
fclose($fp);
?>
L'exemple ci-dessus va écrire ce qui suit vers file.csv:
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""
Note: Si PHP ne reconnaît pas correctement les fins de lignes lors de la lecture de fichiers qui ont été créés ou lus sur un Macintosh, l'activation de l'option de configuration auto_detect_line_endings peut régler le problème.