SplFileObject::fputcsv

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

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

Описание

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

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

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

fields

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

delimiter

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

enclosure

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

escape

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

Замечание:

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

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

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

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

Ошибки

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

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

Версия Описание
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 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