(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
.
handle
Le 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()).
fields
Un 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
enclosure
est 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.