$ _POST при записи массива в CSV возвращает ошибку PHP

0

Я пытаюсь получить данные формы из HTML-формы, которая будет добавлена в файл excel csv serveride. Когда я пытаюсь создать файл csv и записываю его с значениями $ _POST из формы HTML, я получаю сообщение об ошибке "Ошибка анализа: ошибка синтаксиса, неожиданный T_STRING, ожидающий") в process.php в строке 46 ". Я попробовал несколько изменений следующего кода, чтобы узнать, могу ли я заставить его работать, но пока ничего. Любая помощь будет очень оценена.

Здесь код:

<?php
$list = array (
    array('$_POST['some_field']', 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('"aaa"', '"bbb"')
);

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

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

fclose($fp);
?>
Теги:
csv
forms
post

2 ответа

2
Лучший ответ

Слишком много цитат там, вам не нужны они вокруг переменной $ _POST.

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

Вы можете добавить файл к файлу, используя 'a' вместо 'w' в команде fopen:

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

См. Руководство здесь.

  • 0
    Спасибо, теперь работает отлично. Другой вопрос, если я попытаюсь выполнить этот код дважды, он только изменит данные в «file.csv», а я хотел бы добавить к нему. Есть ли способ добавить в конец уже созданного файла?
  • 0
    @ user2755449: Да, смотрите обновленный ответ.
Показать ещё 1 комментарий
0

Пытаться,

$some_field = $_POST['some_field'];
$list = array (
    array($some_field, 'ccc', 'dddd'),
    array('123', '456', '789'),
    array('aaa', 'bbb')
);
  • 0
    Не знаете, почему вы решили добавить дополнительную переменную и строку кода? Вы также удалили " вокруг aaa и bbb - возможно, он / она хочет, чтобы те цитировали.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню