CakeFest 2024: The Official CakePHP Conference

SplFileObject::fputcsv

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

SplFileObject::fputcsvEscreve um array de campos como uma linha CSV

Descrição

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

Escreve o array de fields no arquivo como uma linha CSV.

Parâmetros

fields

Um array de valores.

separator

O parâmetro opcional separator define o delimitador de campo (apenas um caractere de byte único).

enclosure

O parâmetro opcional enclosure define o envólucro de campo (apenas um caractere de byte único).

escape

O parâmetro opcional escape define o caractere de escape (no máximo um caractere de byte único). Uma string vazia ("") desativa o mecanismo de escape proprietário.

eol

O parâmetro opcional eol define uma sequência de fim de linha personalizada.

Nota:

Se um caractere de enclosure estiver contido em um campo, ele será escapado duplicando-o, a menos que seja imediatamente precedido por um escape.

Valor Retornado

Retorna o comprimento da string escrita ou false em caso de falha.

Retorna false, e não escreve a linha CSV no arquivo, se o parâmetro separator ou enclosure não for um único caractere.

Erros/Exceções

Um erro de nível E_WARNING é emitido se o parâmetro separator ou enclosure não for um único caractere.

Registro de Alterações

Versão Descrição
8.1.0 O parâmetro opcional eol foi adicionado.
7.4.0 O parâmetro escape agora também aceita uma string vazia para desativar o mecanismo de escape proprietário.

Exemplos

Exemplo #1 Exemplo de 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);
}

?>

O exemplo acima escreverá o seguinte em file.csv:

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

Veja Também

add a note

User Contributed Notes 1 note

up
-1
sergiy dot sokolenko at gmail dot com
12 years ago
This method is available in PHP 5.4 and it is just a wrapper over php.net/fputcsv.
To Top