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 устанавливает пользовательскую последовательность конца строки.

Внимание

Строка в CSV-формате иногда перестаёт соответствовать стандарту » RFC 4180 или не выдерживает обмена информацией с PHP-функциями для работы с CSV-строками, если для символа экранирования escape устанавливают значение, которое отличается от пустой строки "". Значение по умолчанию для параметра escape"\\", поэтому рекомендуют явно указывать пустую строку. Значение по умолчанию изменят в будущей версии PHP, но не раньше PHP 9.0.

Замечание:

Метод заэкранирует символ ограничителя полей enclosure путём удвоения, если поле содержит символ ограничителя, если только прямо перед символом ограничителя не стоит символ экранирования escape.

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

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

Метод возвращает false и не записывает CSV-строку в файл, если параметры 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-поля

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top