(PHP 5 >= 5.1.0, PHP 7)
fputcsv — Formata a linha como CSV e a escreve em um ponteiro de arquivo
$handle
, array $fields
[, string $delimiter
= ","
[, string $enclosure
= '"'
[, string $escape_char
= "\"
]]] )
fputcsv() formata uma linha (passada como um
array de campos fields
) como CSV e a escreve (terminando com uma
nova linha) no manipulador de arquivo especificado por handle
.
handle
O ponteiro de arquivo precisa ser válido, e apontar para um arquivo aberto por fopen() ou fsockopen() (e ainda não fechado por fclose()).
fields
Um array de valores.
delimiter
O parâmetro opcional delimiter
configura o caractere
delimitador (apenas um caractere).
enclosure
O parâmetro opcional enclosure
configura o caractere que
envolve os dados (apenas um caractere).
escape_char
O parâmetro opcional escape_char
configura o
caractere de escape (apenas um caractere).
Retorna o comprimento da string escrita ou FALSE
em caso de falha.
Versão | Descrição |
---|---|
5.5.4 |
O parâmetro escape_char foi adicionado.
|
Exemplo #1 Exemplo da fputcsv()
<?php
$lista = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$fp = fopen('arquivo.csv', 'w');
foreach ($lista as $linha) {
fputcsv($fp, $linha);
}
fclose($fp);
?>
O exemplo acima irá escrever o seguinte no arquivo arquivo.csv:
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""
Nota: Se PHP não está apropriadamente reconhecendo o final de linha quando lendo arquivos ou criando por um computador Macintosh, habilitando a opção auto_detect_line_endings em tempo de execução pode ajudar a resolver o problema.