fputcsv
(PHP 5 >= 5.1.0, PHP 7)
fputcsv — Форматирует строку в виде CSV и записывает её в файловый указатель
Описание
$handle
, array $fields
, string $delimiter
= ","
, string $enclosure
= '"'
, string $escape_char
= "\\"
) : int|false
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_char может принимать пустую строку для
отключения проприетарного механизма экранирования.
|
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 может помочь решить проблему.