(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
.
stream
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 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
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 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.