fputcsv

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

fputcsvFormate une ligne en CSV et l'écrit dans un fichier

Description

fputcsv(
    resource$stream,
    array$fields,
    string$separator = ",",
    string$enclosure = "\"",
    string$escape = "\\",
    string$eol = "\n"
): int|false

fputcsv() formate la ligne passée sous forme de tableau fields, puis écrit le résultat dans le fichier stream.

Liste de paramètres

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'un escape.

Valeurs de retour

Retourne la taille de la chaîne écrite ou false si une erreur survient.

Historique

VersionDescription
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.

Exemples

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"""

Notes

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.

Voir aussi

  • fgetcsv() - Obtient une ligne depuis un pointeur de fichier et l'analyse pour des champs CSV
To Top