CakeFest 2024: The Official CakePHP Conference

SplFileObject::fputcsv

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

SplFileObject::fputcsvЗаписать массив полей в виде строки CSV

Описание

public SplFileObject::fputcsv(
    array $fields,
    string $separator = ",",
    string $enclosure = "\"",
    string $escape = "\\",
    string $eol = "\n"
): int|false

Записывает массив fields в файл как строку CSV.

Список параметров

fields

Массив значений

separator

Необязательный параметр separator устанавливает разделитель полей (только один однобайтовый символ).

enclosure

Необязательный параметр enclosure (только один однобайтовый символ). Символ обёртывания используется для помещения в него значений полей. Например строка 'строка' обёрнута в одиночные кавычки (').

escape

Необязательный параметр escape устанавливает символ экранирования (не более одного однобайтового символа). Пустая строка ("") отключает проприетарный механизм экранирования.

eol

Необязательный параметр eol задаёт настраиваемую последовательность конца строки.

Замечание:

Если символ enclosure содержится в поле, он будет экранирован путём его удвоения, если ему не предшествует escape.

Возвращаемые значения

Возвращает длину записанной строки или false, если возникла ошибка.

Возвращает false и не производит запись в файл, если параметры separator или enclosure содержат больше одного символа.

Ошибки

Вызывает ошибку уровня E_WARNING, если параметры separator или enclosure содержат больше одного символа.

Список изменений

Версия Описание
8.1.0 Добавлен необязательный параметр eol.
7.4.0 Теперь параметр escape может принимать пустую строку для отключения проприетарного механизма экранирования.

Примеры

Пример #1 Пример SplFileObject::fputcsv()

<?php

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

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

foreach (
$list as $fields) {
$file->fputcsv($fields);
}

?>

Пример выше записывает следующие строки в file.csv:

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

Смотрите также

  • fputcsv() - Форматирует строку в виде CSV и записывает её в файловый указатель
  • SplFileObject::fgetcsv() - Получить строку из файла и её разбор как поля 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