CSV без кавычек, не работающих с fgetcsv

Я пытаюсь разобрать CSV-файлы, загруженные пользователем через PHP, но он работает неправильно.

Я загрузил несколько правильно отформатированных CSV, но он отлично работал; У меня есть много пользователей, пытающихся импортировать CSV-файлы, экспортированные из Excel, и у них возникают проблемы. Я сравнил файлы с моими и заметил, что файлы Excel не имеют котировок вокруг записей. Кроме того, они идентичны. Если я открою его и сохраню с помощью Open Office, без каких-либо изменений, это сработает. Поэтому я уверен, что это связано с кавычками.

Мой вопрос: как я прочитал эти неправильно отформатированные CSV?

UPDATE: Причина найдена!

Это характерно для Mac версии Excel. Разрывы строк обрабатываются по-разному на Mac по какой-либо причине, поэтому перед использованием fgetcsv вы должны это сделать;

ini_set('auto_detect_line_endings',TRUE); 

Это характерно для Mac версии Excel. Разрывы строк обрабатываются по-разному на Mac по какой-либо причине, поэтому перед использованием fgetcsv вы должны это сделать;

 ini_set('auto_detect_line_endings',TRUE); 

Глядя на страницу руководства fgetcsv , ее прототип выглядит так:

 array fgetcsv ( resource $handle [, int $length [, string $delimiter = ',' [, string $enclosure = '"' [, string $escape = '\\' ]]]] ) 

Значение по умолчанию для $enclosure (т.е. 4-го параметра) – это двойная кавычка.

Что делать, если вы попытаетесь указать, что вам не нужен какой-либо корпус, указав пустую строку для этого 4-го параметра?

(Конечно, это может сломать то, что сейчас работает, что означает, что вам придется иметь дело с двумя отдельными случаями: файлы с полями, заключенными в двойные кавычки, и файлы, которые невозможно было прочитать в первом случае)