CakeFest 2024: The Official CakePHP Conference

SplFileObject::fputcsv

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

SplFileObject::fputcsvEscribir un array de campos como una línea CSV

Descripción

public SplFileObject::fputcsv(
    array $fields,
    string $delimiter = ",",
    string $enclosure = '"',
    string $escape = "\"
): int

Escribe el array fields en el fichero como una línea CVS.

Parámetros

fields

Un array de valores.

delimiter

El parámetro opcional delimiter establece el delimitador de campos (sólo un carácter).

enclosure

El parámetro opcional enclosure establece el carácter circundante de cada campo (sólo un carácter).

escape

El parámetro opcional escape establece el carácter de escape (solamente un carácter).

Valores devueltos

Devuelve la longitud del string escrito o false en caso de error.

Devuelve false, y no escribe la línea CVS en el fichero, si el parámetro delimiter o enclosure no es un único carácter.

Errores/Excepciones

Emite un error de nivel E_WARNING si el parámetro delimiter o enclosure no es un único carácter.

Historial de cambios

Versión Descripción
5.5.21, 5.6.5 Se añadió el parámetro escape.

Ejemplos

Ejemplo #1 Ejemplo de SplFileObject::fputcsv()

<?php

$lista
= array (
array(
'aaa', 'bbb', 'ccc', 'dddd'),
array(
'123', '456', '789'),
array(
'"aaa"', '"bbb"')
);

$fichero = new SplFileObject('fichero.csv', 'w');

foreach (
$lista as $campos) {
$fichero->fputcsv($campos);
}

?>

El ejemplo anterior escribirá lo siguiente en fichero.csv:

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

Ver también

  • fputcsv() - Dar formato CSV a una línea y escribirla en un puntero a un fichero
  • SplFileObject::fgetcsv() - Obtiene la línea del archivo y analiza como campos CSV

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