У меня есть файл, который я сохранил как CSV-файл с помощью Excel (я пытался как с Windows 7, так и с Mac OSX, чтобы избежать проблем с совместимостью).
Когда я делаю это:
ini_set('auto_detect_line_endings', true);
$filename = 'import/clientsimport.csv';
$csvfile = file_get_contents($filename);
$csvarray = str_getcsv($csvfile);
print_r($csvarray);
mysql_close();
Все строки превращаются в одну строку, и я получаю массив, который имеет глубину только 1 уровень и работает с тысячами ключей.
Итак, я попробовал альтернативный подход:
ini_set('auto_detect_line_endings', true);
$filename = 'import/clientsimport.csv';
$csvfile = fopen($filename,'r');
$csvarray = fgetcsv($csvfile);
print_r($csvarray);
Это ТОЛЬКО возвращает 1-й ряд (ряд заголовков) и не выходит за его пределы. Как мне сделать это правильно? Есть сотни рядов и около дюжины массивов в ряду, поэтому я должен получить двухмерный.
В CSV каждая строка разбита переносом строки, а значения, разделенные запятыми, - без вложений.