(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 = "\"
]]] ) : int
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.
handleO ponteiro de arquivo precisa ser válido, e apontar para um arquivo aberto por fopen() ou fsockopen() (e ainda não fechado por fclose()).
fieldsUm 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.