php fputcsv использует разделитель с запятой в CSV

Я написал код, в котором я извлекаю данные из БД и заполняю их в CSV, используя функцию «fputcsv».

Сверху ставлю следующее:

$file = fopen("internal/customer_info.csv","w");

Затем я извлекаю данные и помещаю их в переменные, запускаю функцию:

$customerInfo = $first_name.";".$last_name.";".$address1.";".$address2.";".$postcode.";".$city.";".$country.";".$email;
fputcsv($file,explode(';',$customerInfo));

И, наконец, я закрыл файл.

Мой вопрос: как я могу поставить разделитель с запятой? Как видите, у меня там есть точка с запятой, а в выводе CSV - нет. Вместо этого отображается запятая.

Почему это? Может кто-нибудь помочь мне?


person shieldcy    schedule 31.08.2015    source источник
comment
Вы делаете что-то с fputcsv(), вы не получаете то, что хотите. Поэтому, пожалуйста, посмотрите документацию по этой функции, особенно сигнатуру функции.   -  person Rizier123    schedule 31.08.2015


Ответы (1)


Разделитель можно установить с помощью третьего параметра fputcsv():

int fputcsv (ресурс $handle, массив $fields [, строка $delimiter = "," [, строка $enclosure = '"' [, строка $escape_char = "\" ]]])

Пожалуйста измените:

fputcsv($file,explode(';',$customerInfo));

to:

fputcsv($file,explode(';',$customerInfo), ";");

Пожалуйста, ознакомьтесь с документацией, прежде чем спрашивать о переполнении стека.

person mario.klump    schedule 31.08.2015
comment
Большое спасибо за ответ. Вы правы, извините, я не проверил документацию. Хорошего дня - person shieldcy; 31.08.2015