Intereting Posts
Разница версий для strtotime («первый день прошлого месяца»)? Субдомены, ведущие к контроллерам Codeigniter? Может ли злонамеренный хакер изменить скрытую переменную Facebook – Ошибка анализа URL-адреса ввода, данные не были кэшированы или данные не были очищены Как точно использовать onDelete = "SET NULL" – Doctrine2 Каков наиболее эффективный способ получить часть удаленного XML-файла через PHP? Почему я получаю ошибку «Команды не синхронизированы; вы не можете запустить эту команду сейчас " Определение успешной загрузки с использованием файла чтения php Получите метатеги Facebook с помощью PHP перемещение пакета из каталога поставщика в каталог src Принуждение fputcsv к использованию Enclosure For * all * Fields PHP: функция __autoload никогда не называлась Данные PHP EXIF ​​не работают Как применить разбиение на страницы на результат запроса SHOW TABLES в PHP Как хранить сложные данные о товаре / заказе в MySQL?

fputcsv и Блокнот

Я генерирую файлы csv с fputcsv, и он работает отлично, но когда я просматриваю файл csv в «Блокноте» (Windows), новых строк нет. Все строки находятся всего в 1 строке, и там, где предполагается, что это будет строка, есть sqaure (поврежденный символ). Другие редакторы на Mac, например, показывают строки с разрывами правильно.

Есть ли способ исправить эту проблему, поскольку CSV необходимо импортировать, а импортер также не видит линии.

Solutions Collecting From Web of "fputcsv и Блокнот"

Попробуйте использовать 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 в вашем цикле.

Надеюсь, это поможет.