fputcsv

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

fputcsvФорматирует строку в виде CSV и записывает её в файловый указатель

Описание

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

fputcsv() форматирует строку (переданную в виде массива fields) в виде CSV и записывает её (заканчивая переводом строки) в указанный файл stream.

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

stream

Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen() (и всё ещё не закрытый функцией fclose()).

fields

Массив строк (string).

separator

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

enclosure

Дополнительный параметр enclosure устанавливает ограничитель полей (только один однобайтовый символ).

escape

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

eol

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

Замечание:

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

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

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

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

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

Примеры

Пример #1 Пример использования fputcsv()

<?php

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

$fp = fopen('file.csv', 'w');

foreach (
$list as $fields) {
fputcsv($fp, $fields);
}

fclose($fp);
?>

Вышеуказанный пример запишет в файл file.csv следующее:

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

Примечания

Замечание: Если возникают проблемы с распознаванием PHP концов строк при чтении или создании файлов на Macintosh-совместимом компьютере, включение опции auto_detect_line_endings может помочь решить проблему.

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

  • fgetcsv() - Читает строку из файла и производит разбор данных CSV