(PHP 5 >= 5.1.0, PHP 7)
fputcsv — Formate une ligne en CSV et l'écrit dans un fichier
$handle
, array $fields
[, string $delimiter = ","
[, string $enclosure = '"'
[, string $escape_char = "\\"
]]] ) : int
fputcsv() formate la ligne passée sous forme de
tableau fields, puis écrit le résultat dans le
fichier handle.
handleLe 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 charactères string.
delimiter
Le paramètre optionnel delimiter spécifie le
délimiteur (un seul caractère).
enclosure
Le paramètre enclosure spécifie le caractère
d'encadrement (un seul caractère).
escape_char
Le paramètre optionnel escape_char définit le
caractère d'échappement (au plus un caractère).
Une chaîne de caractères vide ("") désactive le mécanisme d'échappement propriétaire.
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_char.
Retourne la taille de la chaîne écrite ou FALSE si une erreur survient.
| Version | Description |
|---|---|
| 7.4.0 |
Le paramètre escape accepte désormais une chaîne de
charactère vide afin de désactivé le mécanisme d'échapement propriétaire.
|
| 5.5.4 |
Ajout du paramètre escape_char
|
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.