Есть ли библиотека, которая может записывать RFC 4180 CSV-файл с PHP?
Я знаю о fputcsv, но в соответствии с этой ошибкой "wontfix" fputcsv некорректно экранирует ввод, и его поведение не будет исправлено из соображений совместимости. Я бы предпочел реализацию, совместимую с RFC 4180, чтобы Excel и LibreOffice могли открыть ее во всех случаях.
Я пробовал поискать в Google библиотеку, которая делает это правильно, но, похоже, не существует единого мнения о приличной сторонней библиотеке, вместо этого я обычно предлагаю неисправный fputcsv. Я всегда мог катиться самостоятельно, но я бы предпочел не изобретать велосипед, если это вообще возможно.
1 ответ
Кажется, что каждая библиотека там прекратила свою разработку в 2008 году. Я не уверен, что с этим случилось. Вот, кажется, варианты популярного выхода:
- Файл PEAR для PEAR, с нулевой документацией для конечного пользователя, как мы и ожидали от PEAR. Это похоже на информацию об ожидаемой конфигурации, в том числе для разделителя и кавычки.
- parseCSV кажется достаточно вменяемым
- PHP CSV Utils довольно тесно связан с обновлениями хостинга "новый блог".
Я не могу поручиться за любой из них. Я живу в волшебной стране, где мне нужно иметь дело только с сгенерированными Excel файлами CSV, которые никогда не будут содержать переводы строк в поле. Это позволяет мне сойти с рук fgetcsv
/fputcsv
и быть блаженно неосведомленным о том, как они сломаны в реальном мире.