Я пытаюсь разобрать CSV файлы, загруженные пользователем через PHP, но он не работает должным образом.
Я загрузил несколько правильно отформатированных CSV, но он работал нормально; У меня есть много пользователей, пытающихся импортировать CSV файлы, экспортированные из Excel, и у них возникают проблемы. Я сравнил файлы с моими и заметил, что файлы Excel не имеют котировок вокруг записей. Кроме того, они идентичны. Если я открою его и сохраню с помощью Open Office, без каких-либо изменений, это сработает. Поэтому я уверен, что это связано с кавычками.
Мой вопрос: как я могу прочитать эти неправильно отформатированные CSV?
UPDATE: Причина найдена!
Это относится к Mac версии Excel. Разрывы строк обрабатываются по-разному на компьютерах Mac по какой-либо причине, поэтому перед использованием fgetcsv вы должны сделать это:
ini_set('auto_detect_line_endings',TRUE);