Я генерирую файлы csv с fputcsv, и он работает отлично, но когда я просматриваю файл csv в «Блокноте» (Windows), новых строк нет. Все строки находятся всего в 1 строке, и там, где предполагается, что это будет строка, есть sqaure (поврежденный символ). Другие редакторы на Mac, например, показывают строки с разрывами правильно.
Есть ли способ исправить эту проблему, поскольку CSV необходимо импортировать, а импортер также не видит линии.
Попробуйте использовать Notepad ++, который корректно обрабатывает символы \n
.
Кроме того, см. fputcsv
документацию по fputcsv
: http://lv.php.net/manual/en/function.fputcsv.php#90883
http://bugs.php.net/bug.php?id=46367
Это известная и нефиксированная ошибка в PHP.
Пока они не исправит это, попробуйте использовать fwrite ($ fp, '"' .implode ('", "', str_replace ('' ',' '' ', $ data_array)).'" '. PHP_EOL);
поместите \r\n
в конец каждой строки вашего кода.
Другое быстрое исправление: откройте свой сгенерированный файл в WordPad, он должен показать их в порядке, нажмите Cntr + S и теперь откройте в блокноте, он также должен хорошо отобразить это.
Редактировать:
На основе приведенных ниже комментариев просто измените свой код следующим образом:
$orders_newlines = array(); foreach($orders as $value) { $orders_newlines[] = $value . "\r\n"; }
Теперь используйте переменную $orders_newlines
вместо $orders
в вашем цикле.
Надеюсь, это поможет.