php генерация CSV подскажите пожалуйста

Статус
В этой теме нельзя размещать новые ответы.

user99

Постоялец
Регистрация
13 Янв 2008
Сообщения
141
Реакции
15
В финальном варианте требуется сгенерировать .txt со строкой/строками формата
001;0;2017-01-26 12:33:00;123;250120177

PHP:
<?php
$random_id = rand(1000000,9999999);

$today = date("y-m-d H:i:s");  

$id="10";
$type="0";
$date="$today";
$key="123";
$receipt="$random_id";

$list = array (
    array("$id", "$type", "$date", "$key", "$receipt")
);

$fp = fopen("$random_id.txt", 'w');

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

fclose($fp);

echo "Success!";
?>

Все работает но есть два вопроса к гуру
1) как заменить разделитель с , на ; пробовал delimiter, не получается воспринимает как закрытие массива.
2) Дата пишется не в формате 2017-01-26 12:33:00 а добавляются кавычки, т.е итоговый вариант выглядит как "2017-01-26 12:33:00".
 
Последнее редактирование модератором:
fputcsv - генерирует CSV автоматически, согласно спецификации. Хотите не по спецификации - очевидно, не используйте fputcsv.
dalimeter ставится через implode, а запись в файл делаем через fwrite

А, нет, вру...
Для просмотра ссылки Войди или Зарегистрируйся
Можно делать запись вида fputcsv($fp, $fields, ";", ""); - должно сработать
 
Последнее редактирование:
Warning: fputcsv(:( enclosure must be a character in
 
Последнее редактирование:
Можно через костыль в виде implode

Код:
foreach ($list as $fields) {
$string=implode (";" , $fields);
fwrite($fp,$string.PHP_EOL);
}
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху