Использование fgetcsv - это опция, которую я нашел для чтения файлов csv, которые требуется системе. Но кажется, что это не работает каждый раз (на самом деле это очень редко, когда этот код работает).fgetcsv выводит все данные в первой строке
if (($handle = fopen($file, 'r')) !== FALSE) {
set_time_limit(0); // necessary if a large csv file
$row = 0;
while (($data = fgetcsv($handle, 0, ',')) !== FALSE) {
print_r($data);
// .. here I do some stuff with the data
// .. The result should be an array with 5 columns and it run multiple times (for the amount of lines in the file)
// .. The result however is one array with a over 9000 columns (really over 9000, it's 9489 in the file that I'm testing)
}
fclose($handle);
die();
}
Я попытался проверить конец строки, позвонив перед кодом, без особого успеха.
ini_set('auto_detect_line_endings', true);
Файл экспортируется другой программой клиентом, и я не могу это «обновляется», чтобы соответствовать потребности в программном обеспечении. Есть ли способ справиться с этой проблемой encoding
/line-ending
на csv?
вы смотрели на сырье файл, чтобы увидеть, что там? возможно, он был сгенерирован без окончаний строки или полностью нестандартного символа конца записи. –