(PHP 5 >= 5.4.0, PHP 7, PHP 8)
SplFileObject::fputcsv — Écrit un tableau sous la forme d'une ligne CSV
$fields
,$separator
= ",",$enclosure
= "\"",$escape
= "\\",$eol
= "\n"
Écrit un tableau fields
sous la forme d'une ligne CSV.
fields
Un tableau de valeurs.
separator
Le paramètre optionnel delimiter
définit le
délimiteur de champs (un caractère d'un seul octet).
enclosure
Le paramètre optionnel enclosure
définit
le caractère entourant le champ (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é.
Lorsque le escape
est défini sur autre chose qu'une chaîne vide
(""
), cela peut entraîner un CSV qui n'est pas conforme à
» RFC 4180 ou incapable de survivre à un aller-retour
à travers les fonctions CSV de PHP. La valeur par défaut pour escape
est
"\\"
, il est donc recommandé de la définir explicitement sur une chaîne vide.
La valeur par défaut changera dans une future version de PHP, au plus tôt dans PHP 9.0.
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
.
Retourne la longueur de la chaîne écrite ou false
si une erreur survient.
Retourne false
, et n'écrit pas la ligne CSV dans le fichier si
le paramètre delimiter
ou le paramètre
enclosure
n'est pas un caractère unique.
Une erreur de niveau E_WARNING
est émise si
separator
ou enclosure
n'est pas un seul caractère.
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ésactivé le mécanisme d'échapement propriétaire.
|
Exemple #1 Exemple avec SplFileObject::fputcsv()
<?php
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$file = new SplFileObject('file.csv', 'w');
foreach ($list as $fields) {
$file->fputcsv($fields);
}
?>
L'exemple suivant va écrire la ligne suivante dans le fichier
file.csv
:
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""