Удалить кавычки из fputcsv в PHP?

у меня есть массив в fputcsv и мне нужен вывод без кавычек в ячейках с пробелом. Я попытался удалить с помощью null char, но это просто дополнительные пробелы, и это непригодное для меня решение. Любые идеи, пожалуйста?

У меня есть этот код...

fputcsv($handle, array($zbozi['kod_zbozi'], $zbozi['nazev'] ),';');

и получаю...

123456;"hdd adata"

но я хочу...

123456;hdd adata

person Logos    schedule 10.07.2015    source источник
comment
$data = [ 1, 2.5, 'ABC', TRUE, NULL, '', 'HELLO WORLD' ]; $t = fopen('./test.csv', 'w'); fputcsv($t, $data); fclose($t); дает 1,2.5,ABC,1,,,"HELLO WORLD" без кавычек вокруг пустых строк, нулей, чисел, даже строк без пробелов или кавычек... так в чем же проблема?   -  person Mark Baker    schedule 10.07.2015
comment
Вы хотите, чтобы этот вывод был 1,2.5,ABC,1,,,HELLO WORLD без кавычек вокруг HELLO WORLD?   -  person Mark Baker    schedule 10.07.2015
comment
Добавил объяснение в первый пост...   -  person Logos    schedule 10.07.2015
comment
Затем вам нужно будет написать свой собственный код записи csv, потому что fputcsv() всегда будет заключать в кавычки строковые значения, содержащие символы пробела, символы новой строки, кавычки и т. д., которые вы можете заменить на _ или .   -  person Mark Baker    schedule 10.07.2015
comment
Работает как шарм! Я только что отредактировал функцию fputcsv() и удалил $enclosure из $str ;) отлично! Спасибо за идею!   -  person Logos    schedule 10.07.2015


Ответы (1)


Я создал собственную функцию из текущего fputcsv.

<?php function vujo_fputcsv($handle, $fields, $delimiter = ',') { if (!is_resource($handle)) {user_error('fputcsv() první parametr musí být data, ale tys mě dal' . gettype($handle) . '!', E_USER_WARNING);
return false;}
$str = '';
foreach ($fields as $cell) {$str .= $cell . $delimiter;}
fputs($handle, substr($str, 0, -1) . "\n");
return strlen($str);} ?>
person Logos    schedule 10.07.2015