require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/classes/general/csv_data.php");
$csvFile = new CCSVData('R', true);
$csvFile->LoadFile($_FILES['csv']['tmp_name']);
$csvFile->SetDelimiter(',');
while ($arRes = $csvFile->Fetch()) {
ec($arRes);
}
Собственно:
- подключаем файл класса работы с CSV
- создаем объект класса, указываем, что будет использоваться разделитель (R, есть еще фикс.поля F), и первая строка содержит заголовки (true); можно не указывать эти параметры и задать отдельными методами
$csvFile->SetFieldsType($fields_type);
$csvFile->SetFirstHeader();
- загружаем файл
- ставим делиметер, где допустимые параметры: \t (табуляция), запятая, пробел, точка с запятой.
- бежим как при обычной выборке из базы.