(PHP 5 >= 5.1.0, PHP 7)
fputcsv — Dar formato CSV a una línea y escribirla en un puntero a un fichero
$handle
, array $fields
[, string $delimiter = ","
[, string $enclosure = '"'
[, string $escape_char = "\"
]]] ) : int
fputcsv() da formato CSV a una línea (pasada como el
array fields) y la escribe (terminada con una nueva línea)
en el manejador dado por handle del fichero especificado.
handleEl fichero al que se apunta debe ser válido, y debe apuntar a un fichero abierto por fopen() o fsockopen() (y que todavía no esté cerrado por fclose()).
fieldsUn array de valores.
delimiter
El parámetro opcional delimiter establece el delimitador
de campos (un carácter sólamente).
enclosure
El parámetro opcional enclosure establece el carácter
circundante de cada campo (un carácter sólmente).
escape_char
El parámetro opcional escape_char establece el
carácter de escape (un carácter solamente).
Devuelve la longitud del string escrito o FALSE en caso de error.
| Versión | Descripción |
|---|---|
| 5.5.4 |
Se añadió el parámetro escape_char
|
Ejemplo #1 Ejemplo de fputcsv()
<?php
$lista = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('123', '456', '789'),
array('"aaa"', '"bbb"')
);
$fp = fopen('fichero.csv', 'w');
foreach ($lista as $campos) {
fputcsv($fp, $campos);
}
fclose($fp);
?>
El ejemplo de arriba escribirá lo siguiente en fichero.csv:
aaa,bbb,ccc,dddd 123,456,789 """aaa""","""bbb"""
Nota: Si sufre problemas con PHP no reconociendo los finales de línea cuando lee o crea ficheros en Macintosh, puede probar de activar la opción de configuración en tiempo de ejecución auto_detect_line_endings para intentar resolver el problema.