(PHP 5 >= 5.1.0, PHP 7)
fputcsv — Форматирует строку в виде CSV и записывает её в файловый указатель
$handle
, array $fields
[, string $delimiter
= ","
[, string $enclosure
= '"'
[, string $escape_char
= "\\"
]]] ) : int
fputcsv() форматирует строку (переданную в
виде массива fields
) в виде CSV и
записывает её (заканчивая переводом строки) в указанный файл
handle
.
handle
Указатель на файл должен быть корректным и указывать на файл, успешно открытый функциями fopen() или fsockopen() (и все еще не закрытый функцией fclose()).
fields
Массив строк (string).
delimiter
Дополнительный параметр delimiter
устанавливает
разделитель полей (только один символ).
enclosure
Дополнительный параметр enclosure
устанавливает ограничитель полей (только один символ).
escape_char
Необязательный параметр escape_char
задает экранирующий символ (максимум один символ).
Пустая строка ("") отключает проприетарный механизм экранирования.
Замечание:
Если символ
enclosure
содержится в поле, он будет экранирован путем его удвоения, если ему не предшествуетescape_char
.
Возвращает длину записанной строки или FALSE
в случае возникновения ошибки.
Версия | Описание |
---|---|
7.4.0 |
Теперь параметр escape может принимать пустую строку для
отключения проприетарного механизма экранирования.
|
5.5.4 |
Добавлен параметр escape_char
|
Пример #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 может помочь решить проблему.