Как внести правки в CSV файл?

Добрый день!
Пользуюсь стандартной функцией для записи в CSV
$list = array(
        array('email', $dataS)
    );

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

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


Но в результате новые строки не добавляются, а заменяется содержимое. Сижу наверное четвертый час.
  • Вопрос задан
  • 2347 просмотров
Решения вопроса 2
@neolink
Вы выбрали не тот режим с которым открываете файл, смотрите в документации:
php.net/manual/ru/function.fopen.php
вам нужно указывать режим a вместо w:

$fp = fopen('file.csv', 'a');
Ответ написан
Комментировать
@throughtheether
human after all
Во-первых, не CVS, а CSV (comma-separated values).
Во-вторых, php не владею, но предлагаю заменить строку
$fp = fopen('file.csv', 'w');
на
$fp = fopen('file.csv', 'a');
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Lerg
@Lerg
Defold, Corona, Lua, GameDev
Если вам нужно только дописывать в файл, то откройте его с параметром a (append),
fopen('file.csv', 'a')
Ответ написан
Комментировать
benbor
@benbor
Помог ответ - не забудь лайкнуть
php.net/manual/ru/function.fopen.php почитайте про параметр mode.
Если вы хотите именно добавлять в конец файла, то поменяйте 'w' на 'a'.
Если вам нужно менять строки внутри, то придется перемещать указатель вручную php.net/manual/ru/function.fseek.php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы