fputcsv
En esta página
fputcsv
Formatea una línea en CSV y la escribe en un fichero
Descripción#
fputcsv(resource $stream, array $fields, [string $separator], [string $enclosure], [string $escape], [string $eol]): int
```php
`fputcsv` formatea la línea pasada como `fields` (array) como CSV y la escribe (terminada por un `eol`) en el `stream` especificado.
## Parámetros
`stream`
El puntero de fichero debe ser válido y apuntar a un archivo abierto con éxito por `fopen` o `fsockopen` (y no cerrado aún por `fclose`).
`fields`
Un array de strings.
`eol`
El parámetro opcional `eol` define una secuencia de fin de línea personalizada.
> [!WARNING]
> Cuando `escape` se define con un valor diferente a una cadena vacía (`""`), puede resultar en un CSV que no sea compatible con [RFC 4180](https://datatracker.ietf.org/doc/html/rfc4180) o que no pueda sobrevivir a un ciclo de ida y vuelta a través de las funciones CSV de PHP. El valor predeterminado de `escape` es `"\\"`, por lo que se recomienda definirlo explícitamente como cadena vacía. El valor predeterminado cambiará en una futura versión de PHP, no antes de PHP 9.0.
> [!NOTE]
> Si un carácter `enclosure` está contenido en un campo, será escapado duplicándolo, a menos que esté inmediatamente precedido por un `escape`.
## Valores devueltos
Devuelve el tamaño de la cadena escrita o `false` si ocurre un error.
## Historial de cambios
| Versión | Descripción |
|----|----|
| 8.1.0 | Se añadió el parámetro opcional `eol`. |
| 7.4.0 | El parámetro `escape` ahora acepta una cadena vacía para desactivar el mecanismo de escape propietario. |
## Ejemplos
Ejemplo con `fputcsv`
```php
El ejemplo anterior escribirá lo siguiente en file.csv:
aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""
Véase también#
fgetcsv
str_getcsv
SplFileObject::fgetcsv
SplFileObject::fputcsv
SplFileObject::setCsvControl
SplFileObject::getCsvControl